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
, northcentralus
ve 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
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 isesystem
, 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"
.