Di blog ini, saya senang berbagi wawasan tentang pendekatan teliti yang kami lakukan untuk melatih basis amabri (kognitif-lab/ambari-7b-instruct-v0.1) dan pengajaran amabri (kognitif-lab/ambari-7b-instruct-v0.1). Menawarkan sekilas tingkat tinggi ke dalam proses kami, narasi ini berfungsi sebagai pendahulu dari wahyu yang akan datang dari semua detail teknis-puncak pengujian dan evaluasi yang luas. Tetap disini saat kami mengungkap seluk-beluk yang menyebabkan penciptaan Amabri, model bahasa besar-besaran Sumber Open-Source yang inovatif.
Tujuan di belakang Amabri
Dalam lanskap dinamis model bahasa besar (LLM), penciptaan Amabri berasal dari tujuan beragam:
Karena LLMS semakin menembus penggunaan arus utama, model open-source, sementara diperkaya dalam pengetahuan dunia, sebagian besar muncul dari pelatihan yang berpusat pada bahasa Inggris. Amabri berfungsi sebagai inisiatif perintis untuk memperluas ruang lingkup ini dan beradaptasi dengan berbagai bahasa.
Dalam lanskap LLMS yang berkembang, permintaan untuk sejumlah besar data pelatihan, mulai dari 1 triliun hingga 10 triliun token, telah menjadi norma. Namun, ini menimbulkan tantangan bagi bahasa dengan sumber daya terdokumentasi yang terbatas. Dalam pengejaran kami, kami fokus pada adaptasi LLM yang sudah terlatih, seperti Llama/Mistral, untuk memahami nuansa bahasa baru-Kannada dalam kasus Amabri. Meskipun Kannada tidak diklasifikasikan sebagai bahasa yang sangat rendah, itu berfungsi sebagai kandidat yang ideal untuk menguji hipotesis dan metodologi kami. Dengan ketat mendefinisikan tahapan pelatihan dan finetuning, kami menetapkan batas 1 miliar token pelatihan untuk seluruh proses.
Selanjutnya, kami membuat kumpulan data dengan cermat, mendistribusikannya sesuai, dan menggambarkan tahap -tahap proses kami:
Pendekatan yang disengaja ini meletakkan dasar bagi pengembangan Amabri, mendorong batas -batas kemampuan beradaptasi dalam ranah LLMS.
Tokenisasi, komponen penting dalam efisiensi model bahasa, merupakan tantangan unik untuk teks Kannada dalam konteks LLM sumber terbuka. Banyak model yang ada secara tidak efisien menggunakan tokenisasi tingkat karakter, terutama selama inferensi, memengaruhi kinerja keseluruhan. Untuk mengatasi ini, kami mengembangkan model tokenisasi khusus untuk teks Kannada menggunakan kalimat. Model ini diintegrasikan dengan mulus dengan Tokenizer Llama Base, menghasilkan kosakata komprehensif 49.600, diperluas dengan 17.600.
Pendekatan kami melibatkan melatih model tokenizer pada tiga ukuran dataset yang berbeda, mengungkapkan hasil yang optimal dengan dataset yang terdiri dari 100.000 token. Saat kami mengembangkan Amabri, iterasi yang akan datang akan menampilkan strategi tokenisasi yang halus, menggunakan ukuran kosa kata yang berkurang sebesar 48.000. Penyesuaian ini, divalidasi oleh wawasan yang dibagikan oleh Andrej Karpathy di posting Twitter -nya (Andrej Karpathy di Twitter), diarahkan untuk meningkatkan efisiensi keseluruhan.
Penasaran untuk mengeksplorasi keuntungan efisiensi secara langsung? Anda dapat menguji tokenizer yang beraksi di sini.
Pra-pelatihan
Dengan tokenizer yang efisien di tempat, langkah penting kami berikutnya adalah fase pra-pelatihan, yang ditujukan untuk membiasakan model dengan kosakata yang baru diperkaya. Untuk mengoptimalkan proses ini, kami mengkuratori dataset komprehensif dari beragam sumber. Khususnya, kami mengeksplorasi dua pendekatan berbeda selama fase ini-pelatihan PRE dengan Lora dan sepenuhnya melatih model. Keputusan strategis ini berasal dari keinginan kita untuk membedakan jalan optimal untuk pengembangan Amabri.
Perbandingan terperinci antara metodologi ini akan segera diluncurkan, tetapi kami telah mengumpulkan beberapa pengamatan awal:
Sementara kami mengakui bahwa pengujian kami yang berkelanjutan dapat memperbaiki pengamatan ini, snapshot ini memberikan wawasan yang berharga tentang kemajuan kami. Fase pra-pelatihan menggunakan sekelompok 2xA100 GPU, memakan waktu sekitar 25 jam untuk pra-pelatihan penuh bobot pada korpus substansial yang terdiri dari 500 juta token.
Perlu disebutkan bahwa bobot model yang sepenuhnya disempurnakan sekarang tersedia di memeluk wajah? -https://huggingface.co/cognitive-lab/ambari-7b-base-v0.1, berkontribusi pada berbagi pengetahuan open-source di dalam komunitas.
Prediksi Token Dwibahasa Berikutnya
Fase ini, terinspirasi oleh seri Hathi terbuka oleh Sarvam.ai, adalah tambahan yang tidak direncanakan namun sangat penting untuk strategi pelatihan kami. Membuat dataset 200.000 token, kami menggunakan LORA untuk menyempurnakan, yang bertujuan untuk melengkapi model dengan pemahaman bahasa yang ditingkatkan. Saat kami berkembang, fokus kami bergeser ke arah menanamkan 'pengetahuan dunia' di Kannada. Mengingat kelangkaan konten Kannada, terutama dibandingkan dengan bahasa Inggris, kami beralih ke terjemahan. Memanfaatkan indictrans2, kami menerjemahkan konten bahasa Inggris, terutama bersumber dari Wikipedia, ke Kannada. Namun, alih -alih monolingual konvensional di sebelah prediksi token, kami memperkenalkan pendekatan inovatif - prediksi bilingual di sebelah. Kalimat bergantian antara Kannada dan Inggris, metode ini memaksa model untuk secara silang memperhatikan informasi selama prediksi berikutnya. Pendekatan yang bernuansa ini tidak hanya menumbuhkan peningkatan keselarasan antara Kannada dan Inggris tetapi juga paparan yang seimbang secara alami terhadap token Hindi dan Inggris selama pelatihan. Tahap ini menambahkan lapisan kecanggihan ekstra ke dalam perjalanan pelatihan Amabri.
Terjemahan finetuning
Tujuan di balik fase ini adalah untuk membangun hubungan yang koheren antara bahasa Inggris dan token Kannada yang sesuai. Menggunakan adaptasi peringkat rendah untuk penyempurnaan, kami menghadapi beberapa tantangan, terutama dengan keputusan untuk menggunakan nilai peringkat yang sangat rendah, yang terbukti kurang efektif. Dengan ukuran dataset 100.000 token, tahap ini memberikan batasan, dan kami mengakui perlunya perbaikan. Saat kami memperbaiki aspek proses pelatihan ini, komitmen kami untuk meningkatkan kemampuan dwibahasa Amabri tetap tak tergoyahkan.
Bilingual Instruksikan Fine-tuning
Pada tahap penting ini, kami menggunakan fine-tuning yang diawasi dengan adaptasi peringkat rendah untuk membentuk respons model. Merangkul struktur templat obrolan yang terdiri dari petunjuk/instruksi pengguna dan respons yang sesuai, kami berkelana ke ranah fine-tuning instruksi dwibahasa. Pendekatan ini melibatkan pelatihan model untuk merespons dengan adept dengan baik dalam bahasa Inggris atau Kannada berdasarkan bahasa yang ditentukan dalam prompt atau instruksi pengguna.
Template obrolan
< | user | >
{user prompt / instruction}
< | endoftext | >
< | assistant | >
{response}
< | endoftext | >Misalnya, diberi prompt pengguna seperti
"Beri aku 10 tips belajar di Kannada,"
Tanggapan
Model ini dengan mulus menghasilkan respons di Kannada, mempertahankan koherensi linguistik. Untuk memperkaya proses pelatihan, kami menggabungkan berbagai set data instruksi, termasuk instruksi Alpaca, Dolly Instruct, dan banyak lagi. Memanfaatkan API terjemahan seperti Google, Azure, dan penyebaran kustom dari model IndicTrans2 dari AI4Bharat, kami membuat dataset instruksi bilingual yang komprehensif.
Dataset, yang sekarang tersedia untuk umum di Hugging Face di sini, mencakup beragam skenario linguistik. Selama pelatihan, kami menerapkan penyesuaian yang diawasi dengan empat representasi berbeda:
Pendekatan yang sangat teliti ini tidak hanya membiasakan model dengan merespons dalam berbagai bahasa tetapi juga meletakkan dasar untuk menguasai berbagai tugas lintas-bahasa.
Bobot dari model yang disesuaikan dengan halus ini dapat diakses pada wajah memeluk, dan untuk pengalaman langsung, Anda dapat menjelajahi versi 4-bit kuantisasi di chat.cognitivelab.in.
Dalam fase puncak dari penyempurnaan model kami, kami menyelidiki dunia optimasi preferensi langsung (DPO). Pilihan strategis ini, yang terinspirasi oleh keberhasilan yang diamati dalam berbagai model open-source, yang bertujuan tidak hanya untuk menyelaraskan model kami tetapi juga untuk mendorong peningkatan dalam tolok ukur. Memulai perjalanan eksperimental ini, kami memanfaatkan dataset antropik/HH-RLHF. Menerjemahkannya ke Kannada, kami menundukkan model penyempurnaan DPO, saat ini menjalani evaluasi komprehensif untuk mengukur dampak kinerjanya.
Lingkup perbaikan
Sangat penting untuk menyadari bahwa model yang disediakan dalam kerangka ini belum mengalami detoksifikasi. Sementara mereka menunjukkan kemampuan linguistik yang mengesankan, ada potensi untuk menghasilkan konten yang mungkin dianggap berbahaya atau menyinggung. Pengguna sangat disarankan untuk melakukan keleluasaan dan memantau dengan cermat output model, terutama dalam aplikasi publik atau sensitif.
Kami menyambut kontribusi untuk meningkatkan dan memperluas proyek ini. Jika Anda memiliki saran atau perbaikan, buka masalah atau kirimkan permintaan tarik.
Proyek ini dilisensikan di bawah lisensi GNU GPL v3.0. Untuk detailnya, lihat file lisensi.md.
Penting: Lisensi GPL 3.0 hanya berlaku untuk kode sumber dan kumpulan data yang disediakan dalam repositori ini. Karena indic-llm adalah turunan dari model Llama 2 Meta, itu tunduk pada lisensi asli Llama 2, yang tidak dapat diubah. Oleh karena itu, untuk detail komprehensif mengenai lisensi model, silakan berkonsultasi dengan file llama2-license.
Repositori ini menarik inspirasi dari repositori berikut: