Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Tek düğümlü görevler için AI Çalışma Zamanı Genel Önizleme aşamasındadır. Çoklu GPU iş yükleri için dağıtılmış eğitim API'si Beta'da kalır.
Bu makalede MLflow'un nasıl kullanılacağı, GPU sistem durumunun nasıl izleneceği, günlüklerin nasıl görüntüleneceği ve yapay zeka Çalışma Zamanı'nda model denetim noktalarının nasıl yönetileceğini açıklanmaktadır.
MLflow tümleştirmesi
AI Runtime, deneme izleme, model günlüğü ve ölçüm görselleştirmesi için MLflow ile yerel olarak tümleşir.
Kurulum önerileri:
MLflow'u 3.7 veya daha yeni bir sürüme yükseltin ve derin öğrenme iş akışı desenlerini izleyin.
PyTorch Lightning için otomatik kaydetmeyi etkinleştirin:
import mlflow mlflow.pytorch.autolog()Model eğitim kodunuzu
mlflow.start_run()API kapsamına alarak MLflow çalıştırma adını özelleştirin. Bu, çalıştırma adı üzerinde denetim sahibi olmanıza ve önceki bir çalıştırmadan yeniden başlamanıza olanak tanır.run_nameparametresinimlflow.start_run(run_name="your-custom-name")veya MLflow'u destekleyen üçüncü taraf kitaplıklarda (örneğin, Hugging Face Transformers) kullanarak çalıştırma adını özelleştirebilirsiniz. Aksi takdirde, varsayılan çalıştırma adı şeklindedirjobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Sunucusuz GPU API'si, varsayılan adıyla
/Users/{WORKSPACE_USER}/{get_notebook_name()}otomatik olarak bir MLflow denemesi başlatır. Kullanıcılar ortam değişkeniyleMLFLOW_EXPERIMENT_NAMEbu değişkenin üzerine yazabilir. Ortam değişkeni için her zamanMLFLOW_EXPERIMENT_NAMEmutlak yol kullanın.import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Önceki eğitimi, önceki çalıştırmadan alınan
MLFLOW_RUN_IDayarını yaparak sürdürün.mlflow.start_run(run_id="<previous-run-id>")MLFlowLoggeriçindekistepparametresini uygun seri numaralarına ayarlayın. MLflow'un 10 milyon ölçüm adımı sınırı vardır; büyük ölçekli eğitim çalışmalarında her bir toplu işin kaydedilmesi bu sınıra ulaşabilirsiniz. Bkz. Kaynak sınırları.
Günlükleri görüntüleme
- Notebook çıktısı — Eğitim kodunuzun standart çıktıları ve hataları, notebook hücresinin çıktısında görünür.
- Sürücü günlükleri — Başlangıç sorunlarının, ortam kurulum sorunlarının ve çalışma zamanı hatalarının hatalarını ayıklamak için işlem paneli aracılığıyla erişilebilir.
- MLflow günlükleri — Eğitim ölçümleri, parametreler ve yapıtlar MLflow deneme kullanıcı arabiriminde görüntülenebilir.
Model denetim noktası oluşturma
Model denetim noktalarını , diğer Unity Kataloğu nesneleriyle aynı idareyi sağlayan Unity Kataloğu birimlerine kaydedin. Databricks not defterinden birimlerdeki dosyalara başvurmak için aşağıdaki yol biçimini kullanın:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Kontrol noktalarını yerel depolama alanına kaydettiğiniz şekilde birimlere de kaydedin.
Aşağıdaki örnekte Unity Kataloğu birimlerine PyTorch denetim noktası yazma işlemi gösterilmektedir:
import torch
checkpoint = {
"epoch": epoch, # last finished epoch
"model_state_dict": model.state_dict(), # weights & buffers
"optimizer_state_dict": optimizer.state_dict(), # optimizer state
"loss": loss, # optional current loss
"metrics": {"val_acc": val_acc}, # optional metrics
# Add scheduler state, RNG state, and other metadata as needed.
}
checkpoint_path = "/Volumes/my_catalog/my_schema/model/checkpoints/ckpt-0001.pt"
torch.save(checkpoint, checkpoint_path)
Bu yaklaşım, dağıtılmış denetim noktaları için de çalışır. Aşağıdaki örnekte Torch Distributed Checkpoint API'siyle dağıtılmış model denetim noktası oluşturma gösterilmektedir:
import torch.distributed.checkpoint as dcp
def save_checkpoint(self, checkpoint_path):
state_dict = self.get_state_dict(model, optimizer)
dcp.save(state_dict, checkpoint_id=checkpoint_path)
trainer.save_checkpoint("/Volumes/my_catalog/my_schema/model/checkpoints")
Çok kullanıcılı işbirliği
- Tüm kullanıcıların paylaşılan koda (örneğin, yardımcı modüller veya ortam YAML dosyaları) erişebildiğinden emin olmak için, bunları gibi
/Workspace/Sharedkullanıcıya özgü klasörler yerine içinde/Workspace/Users/<your_email>/depolayın. - Etkin geliştirme aşamasında olan kod için, kullanıcıya özgü klasörlerde Git klasörlerini
/Workspace/Users/<your_email>/kullanın ve uzak Git depolarına gönderme yapın. Bu, sürüm denetimi için uzak Git deposu kullanmaya devam ederken birden çok kullanıcının kullanıcıya özgü bir kopyaya ve dala sahip olmasını sağlar. Bkz. Databricks'te Git'i kullanmaya yönelik en iyi yöntemler . - ortak çalışanlar not defterlerini paylaşabilir ve bunlara yorum yapabilir.
Databricks'te genel sınırlar
Bkz. Kaynak sınırları.