Aracılığıyla paylaş


Mozaik Yapay Zeka Modeli Eğitim API'sini kullanarak eğitim çalıştırması oluşturma

Önemli

Bu özellik şu bölgelerde Genel Önizleme aşamasındadır: centralus, eastus, eastus2, northcentralus, , westcentralus, westusve westus3. Genel Önizleme'ye kaydolmak için Databricks hesap ekibinize ulaşın.

Bu sayfada Mozaik Yapay Zeka Modeli Eğitimi (eski adıyla Temel Model Eğitimi) API'sini kullanarak bir eğitim çalıştırmasının nasıl oluşturulacağı ve yapılandırıldığı açıklanır ve API çağrısında kullanılan tüm parametreler açıklanır. Kullanıcı arabirimini kullanarak bir çalıştırma da oluşturabilirsiniz. Yönergeler için bkz . Mozaik AI Modeli Eğitim Kullanıcı Arabirimini kullanarak eğitim çalıştırması oluşturma.

Gereksinim -leri

Bkz . Gereksinimler.

Eğitim çalıştırması oluşturma

Program aracılığıyla eğitim çalıştırmaları oluşturmak için işlevini kullanın create() . Bu işlev, sağlanan veri kümesindeki bir modeli eğiter ve son Oluşturucu denetim noktasını çıkarımı için Yüz Biçimlendirmeli Bir Kucaklama denetim noktasına dönüştürür.

Gerekli girişler eğitmek istediğiniz model, eğitim veri kümenizin konumu ve modelinizi nereye kaydedeceğinizdir. Ayrıca, değerlendirme gerçekleştirmenize ve çalıştırmanızın hiper parametrelerini değiştirmenize olanak sağlayan isteğe bağlı alanlar da vardır.

Çalıştırma tamamlandıktan sonra, tamamlanan çalıştırma ve son denetim noktası kaydedilir, model kopyalanır ve bu kopya, çıkarım için model sürümü olarak Unity Kataloğu'na kaydedilir.

Unity Kataloğu'ndaki kopyalanan model sürümünden değil tamamlanmış çalıştırmadan alınan model ve Oluşturucu ve Kucaklama Yüzü denetim noktaları MLflow'a kaydedilir. Oluşturucu denetim noktaları, devam eden hassas ayarlama görevleri için kullanılabilir.

İşlevin bağımsız değişkenleri hakkında ayrıntılı bilgi için bkz . Eğitim çalıştırmasını create() yapılandırma.

from databricks.model_training import foundation_model as fm

run = fm.create(
  model='meta-llama/Llama-2-7b-chat-hf',
  train_data_path='dbfs:/Volumes/main/mydirectory/ift/train.jsonl', # UC Volume with JSONL formatted data
  # Public HF dataset is also supported
  # train_data_path='mosaicml/dolly_hhrlhf/train'
  register_to='main.mydirectory', # UC catalog and schema to register the model to
)

Eğitim çalıştırması yapılandırma

Aşağıdaki tabloda işlevin alanları özetlemektedir create() .

Alan Zorunlu Türü Tanım
model x str Kullanılacak modelin adı. Bkz. Desteklenen modeller.
train_data_path x str Eğitim verilerinizin konumu. Bu, Unity Kataloğu'ndaki (<catalog>.<schema>.<table> veya ) veya dbfs:/Volumes/<catalog>/<schema>/<volume>/<dataset>.jsonlHuggingFace veri kümesindeki bir konum olabilir.

içinINSTRUCTION_FINETUNE, veriler ve response alanı içeren prompt her satırla biçimlendirilmelidir.

için CONTINUED_PRETRAIN, bu bir dosya klasörüdür .txt . Bkz . Kabul edilen veri biçimleri için Mozaik AI Modeli Eğitimi için verileri hazırlama ve veri boyutu önerileri için model eğitimi için önerilen veri boyutu.
register_to x str Kolay dağıtım için eğitimden sonra modelin kaydedildiği Unity Kataloğu kataloğu ve şeması (<catalog>.<schema> veya <catalog>.<schema>.<custom-name>). Sağlanmazsa custom-name , bu varsayılan olarak çalıştırma adını kullanır.
data_prep_cluster_id str Spark veri işleme için kullanılacak kümenin küme kimliği. Bu, eğitim verilerinin delta tablosunda yer aldığı denetimli eğitim görevleri için gereklidir. Küme kimliğini bulma hakkında bilgi için bkz . Küme kimliğini alma.
experiment_path str Eğitim çalıştırma çıkışının (ölçümler ve denetim noktaları) kaydedildiği MLflow denemesinin yolu. Kullanıcının kişisel çalışma alanında (örneğin) çalıştırma adını varsayılan olarak /Users/<username>/<run_name>kullanır.
task_type str Çalıştırılacak görevin türü. (varsayılan), CHAT_COMPLETIONveya CONTINUED_PRETRAINolabilir INSTRUCTION_FINETUNE .
eval_data_path str Değerlendirme verilerinizin uzak konumu (varsa). ile aynı biçimi train_data_pathizlemelidir.
eval_prompts str Değerlendirme sırasında yanıt oluşturmak için istem dizelerinin listesi. Varsayılan değerdir None (istem oluşturmayın). Sonuçlar, model her denetim noktası olduğunda denemede günlüğe kaydedilir. Nesiller, her model denetim noktasında aşağıdaki oluşturma parametreleriyle gerçekleşir: max_new_tokens: 100, temperature: 1, top_k: 50, top_p: 0.95, do_sample: true.
custom_weights_path str Eğitim için özel model denetim noktasının uzak konumu. Varsayılan değer olan , Noneçalıştırmanın seçilen modelin özgün önceden eğitilmiş ağırlıklarından başladığı anlamına gelir. Özel ağırlıklar sağlanırsa, modelin orijinal önceden eğitilmiş ağırlıkları yerine bu ağırlıklar kullanılır. Bu ağırlıklar bir Oluşturucu denetim noktası olmalı ve belirtilen mimariyle model eşleşmelidir
training_duration str Çalıştırmanızın toplam süresi. Varsayılan değer bir dönem veya 1ep'dir. Dönemlerde (10ep) veya belirteçlerde (1000000tok) belirtilebilir.
learning_rate str Model eğitimi için öğrenme oranı. Varsayılan 5e-7 değeridir. İyileştirici, 0,99 ve 0,95 beta'lı DecoupledLionW'dir ve ağırlık bozulması yoktur. Öğrenme hızı zamanlayıcısı, toplam eğitim süresinin %2'sini ve son öğrenme hızı çarpanını 0 olan LinearWithWarmupSchedule'dir.
context_length str Bir veri örneğinin en uzun dizi uzunluğu. Bu, çok uzun olan tüm verileri kesmek ve verimlilik için daha kısa dizileri birlikte paketlemek için kullanılır.

Varsayılan değer 8192 belirteçtir veya sağlanan model için bağlam uzunluğu üst sınırıdır (hangisi daha düşükse). Bağlam uzunluğunu yapılandırmak için bu parametreyi kullanabilirsiniz, ancak her modelin bağlam uzunluğu üst sınırının ötesinde yapılandırma desteklenmez. Her modelin desteklenen bağlam uzunluğu üst sınırı için desteklenen modeller bölümüne bakın.
validate_inputs Boolean Eğitim işini göndermeden önce giriş yollarına erişimin doğrulanıp doğrulanmayacağı. Varsayılan True değeridir.

Özel model ağırlıkları üzerinde derleme

Mozaik AI Modeli Eğitimi, isteğe bağlı parametresini kullanarak özel ağırlıklardan başlayarak desteklenen modellerden herhangi birinin eğitme işlemini destekler custom_weights_path.

Örneğin, özel verilerinizle etki alanına özgü bir model oluşturabilir ve daha fazla eğitim için giriş olarak istediğiniz denetim noktasını geçirebilirsiniz.

Eğitim için önceki çalıştırmanızdan Oluşturucu denetim noktasına uzak konumu sağlayabilirsiniz. Denetim noktası yolları, önceki bir MLflow çalıştırmasının Yapıtlar sekmesinde bulunabilir ve şu biçimdedir: dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<run_name>/checkpoints/<checkpoint_folder>[.symlink], burada symlink uzantısı isteğe bağlıdır. Bu denetim noktası klasör adı, gibi ep29-ba30/belirli bir anlık görüntünün toplu iş ve dönemlerine karşılık gelir. Son anlık görüntüye symlink latest-sharded-rank0.symlinkile erişilebilir.

Önceki bir MLflow çalıştırması için Yapıtlar sekmesi

Ardından yol, yapılandırmanızdaki parametreye custom_weights_path geçirilebilir.

model = 'meta-llama/Llama-2-7b-chat-hf'
custom_weights_path = 'your/checkpoint/path'

Küme kimliğini alma

Küme kimliğini almak için:

  1. Databricks çalışma alanının sol gezinti çubuğunda İşlem'e tıklayın.

  2. Tabloda kümenizin adına tıklayın.

  3. Sağ üst köşeye tıklayın Diğer düğmesi ve açılan menüdeN JSON Görüntüle'yi seçin.

  4. Küme JSON dosyası görüntülenir. Dosyanın ilk satırı olan küme kimliğini kopyalayın.

    küme kimliği

Çalıştırmanın durumunu alma

Databricks kullanıcı arabirimindeki Deneme sayfasını veya API komutunu get_events()kullanarak bir çalıştırmanın ilerleme durumunu izleyebilirsiniz. Ayrıntılar için bkz . Mozaik Yapay Zeka Modeli Eğitimi çalıştırmalarını görüntüleme, yönetme ve analiz etme.

örnek çıktısı:get_events()

Çalıştırma durumunu almak için API kullanma

Deneme sayfasında örnek çalıştırma ayrıntıları:

Deneme kullanıcı arabiriminden çalıştırma durumunu alma

Sonraki adımlar

Eğitim çalıştırmanız tamamlandıktan sonra MLflow'daki ölçümleri gözden geçirebilir ve çıkarım için modelinizi dağıtabilirsiniz. Öğretici: Mozaik AI Modeli Eğitimi çalıştırması oluşturma ve dağıtma adımlarının 5 ile 7. adımlarına bakın.

Veri hazırlama, eğitim çalıştırma yapılandırması ve dağıtımında ince ayarlama adımlarını gösteren bir yönerge ince ayarı örneği için Yönerge ince ayarı: Adlandırılmış Varlık Tanıma tanıtım not defterine bakın.

Not defteri örneği

Aşağıdaki not defterinde Meta Llama 3.1 405B Instruct modelini kullanarak yapay veri oluşturma ve modelde ince ayar yapmak için bu verileri kullanma örneği gösterilmektedir:

Llama 3.1 405B Instruct not defterini kullanarak yapay veri oluşturma

Not defterini alma

Ek kaynaklar