Aracılığıyla paylaş


Mozaik AI Modeli Eğitimi için verileri hazırlama

Önemli

Bu özellik şu bölgelerde Genel Önizleme aşamasındadır: centralus, eastus, eastus2, northcentralusve westus.

Bu makalede Mozaik Yapay Zeka Modeli Eğitimi (eski adıyla Temel Model Eğitimi) görevleri için kabul edilen eğitim ve değerlendirme veri dosyası biçimleri açıklanmaktadır: denetimli ince ayar, sohbet tamamlama ve devam eden eğitim öncesi.

Aşağıdaki not defterinde verilerinizin nasıl doğrulanması gösterilmektedir. Eğitime başlamadan önce bağımsız olarak çalıştırılacak şekilde tasarlanmıştır. Bu not defterinin amacı, verilerinizin Mozaik Yapay Zeka Modeli Eğitimi için doğru biçimde olduğunu doğrulamaktır. Ayrıca, eğitim çalıştırmanız sırasında maliyetleri tahmin etmeye yardımcı olmak için ham veri kümenizi belirteç haline getirmek için kod içerir.

Eğitim çalıştırmaları not defteri için verileri doğrulama

Not defterini alma

Denetimli ince ayar için verileri hazırlama

Denetimli ince ayar görevleri için eğitim verileri aşağıdaki şemalardan birinde olabilir:

  • İstem ve yanıt çiftleri.

    {"prompt": "your-custom-prompt", "response": "your-custom-response"}
    
  • İstem ve tamamlama çiftleri.

    {"prompt": "your-custom-prompt", "completion": "your-custom-response"}
    

Not

İstem-yanıt ve istem tamamlama şablonlu değildir, bu nedenle Mistral'in yönerge biçimlendirmesi gibi modele özgü şablon oluşturma işlemleri ön işleme adımı olarak gerçekleştirilmelidir.

Kabul edilen veri biçimleri şunlardır:

  • Dosya içeren bir .jsonl Unity Katalog Birimi. Eğitim verileri, her satırın geçerli bir JSON nesnesi olduğu JSONL biçiminde olmalıdır. Aşağıdaki örnekte bir istem ve yanıt çifti örneği gösterilmektedir:

    {"prompt": "What is Databricks?","response": "Databricks is a cloud-based data engineering platform that provides a fast, easy, and collaborative way to process large-scale data."}
    
  • Yukarıda belirtilen kabul edilen şemalardan birine bağlı olan bir Delta tablosu. Delta tabloları için veri işleme için bir data_prep_cluster_id parametre sağlamanız gerekir. Bkz . Eğitim çalıştırması yapılandırma.

  • Genel bir Yüz Tanıma veri kümesi.

    Eğitim verileriniz olarak genel bir Yüz Tanıma veri kümesi kullanıyorsanız bölme işleminin tam yolunu (örneğin, mosaicml/instruct-v3/train and mosaicml/instruct-v3/test) belirtin. Bu, farklı bölünmüş şemalara sahip veri kümelerini hesaplar. Yüz Tanıma'dan iç içe veri kümeleri desteklenmez.

    Daha kapsamlı bir örnek için Bkz mosaicml/dolly_hhrlhf . YüzLeri Kucaklama veri kümesi.

    Aşağıdaki örnek veri satırları veri kümesinden alınıyor mosaicml/dolly_hhrlhf .

    {"prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: what is Databricks? ### Response: ","response": "Databricks is a cloud-based data engineering platform that provides a fast, easy, and collaborative way to process large-scale data."}
    {"prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: Van Halen famously banned what color M&Ms in their rider? ### Response: ","response": "Brown."}
    

Sohbetin tamamlanması için verileri hazırlama

Sohbet tamamlama görevleri için, sohbet biçimlendirilmiş verilerin dosya .jsonl biçiminde olması gerekir; burada her satır tek bir sohbet oturumını temsil eden ayrı bir JSON nesnesidir. Her sohbet oturumu, "messages"bir ileti nesneleri dizisiyle eşlenen tek bir anahtara sahip bir JSON nesnesi olarak temsil edilir. Sohbet verileri üzerinde eğitmek için yalnızca öğesini sağlamanız yeterlidir task_type = 'CHAT_COMPLETION'.

Sohbet biçimindeki iletiler modelin sohbet şablonuna göre otomatik olarak biçimlendirilir, bu nedenle sohbetin başlangıcına veya sonuna el ile işaret vermek için özel sohbet belirteçleri eklemeniz gerekmez. Özel sohbet şablonu kullanan bir modele örnek olarak Mistral-instruct örnek olarak verilmiştir.

Not

Mistral modeller, veri biçimlerindeki rolleri kabul system etmemektedir.

Dizideki her ileti nesnesi konuşmadaki tek bir iletiyi temsil eder ve aşağıdaki yapıya sahiptir:

  • role: İletinin yazarını gösteren dize. Olası değerler , "user"ve "assistant"şeklindedir"system". Rol ise system, ileti listesindeki ilk sohbet olmalıdır. rolüne "assistant"sahip en az bir ileti olmalıdır ve (isteğe bağlı) sistem isteminden sonraki tüm iletiler kullanıcı/yardımcı arasında farklı rollere sahip olmalıdır. Aynı role sahip iki bitişik ileti olmamalıdır. Dizideki son iletinin "messages" rolü olmalıdır "assistant".
  • content: İleti metnini içeren bir dize.

Sohbetle biçimlendirilmiş bir veri örneği aşağıda verilmiştir:

{"messages": [
  {"role": "system", "content": "A conversation between a user and a helpful assistant."},
  {"role": "user", "content": "Hi there. What's the capital of the moon?"},
  {"role": "assistant", "content": "This question doesn't make sense as nobody currently lives on the moon, meaning it would have no government or political institutions. Furthermore, international treaties prohibit any nation from asserting sovereignty over the moon and other celestial bodies."},
  ]
}

Devam eden eğitim öncesi için verileri hazırlama

Devam eden eğitim öncesi görevler için eğitim verileri yapılandırılmamış metin verilerinizdir. Eğitim verileri, dosyaları içeren .txt bir Unity Kataloğu biriminde olmalıdır. Her .txt dosya tek bir örnek olarak değerlendirilir. Dosyalarınız .txt Unity Kataloğu birim klasöründeyse, bu dosyalar eğitim verileriniz için de elde edilir. Birimde olmayantxt dosyalar yoksayılır. Bkz . Unity Kataloğu birimine dosya yükleme.

Aşağıdaki görüntüde Unity Kataloğu birimindeki örnek .txt dosyalar gösterilmektedir. Bu verileri sürekli eğitim öncesi çalıştırma yapılandırmanızda kullanmak için öğesini ayarlayın train_data_path = "dbfs:/Volumes/main/finetuning/cpt-data".

Devam eden eğitim öncesi veri kümesi dosyası örnekleriyle UC Birimi