Ray AIR en profondeur

Ray 2.0, publié en août 2022, introduit Ray AI Runtime (AIR), une couche unifiée pour le prétraitement, l'entraînement, le tuning et le serving de modèles ML. AIR intègre Ray Data, Ray Train, Ray Tune et Ray Serve dans une API cohérente.

Exemple de pipeline

python
import ray
from ray import train
from ray.train.torch import TorchTrainer
from ray.train import ScalingConfig

def train_func():
    import torch
    model = torch.nn.Linear(10, 1)
    optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
    for epoch in range(10):
        loss = model(torch.randn(32, 10)).sum()
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()
        train.report({'loss': loss.item()})

trainer = TorchTrainer(
    train_func,
    scaling_config=ScalingConfig(num_workers=4, use_gpu=True),
)
result = trainer.fit()
print(f'Dernière loss : {result.metrics["loss"]:.4f}')

Sources