Model dan platform AI
OLMo: Meningkatkan Ilmu Bahasa Model
Pengembangan dan kemajuan model bahasa dalam beberapa tahun terakhir telah menandai kehadiran mereka hampir di mana-mana, tidak hanya dalam penelitian NLP tetapi juga dalam penawaran komersial dan aplikasi dunia nyata. Namun, lonjakan permintaan komersial untuk model bahasa telah, sampai batas tertentu, menghambat pertumbuhan komunitas. Ini karena sebagian besar model yang canggih dan mampu diberi label sebagai antarmuka proprietari, membuatnya mustahil bagi komunitas pengembangan untuk mengakses detail vital arsitektur pelatihan, data, dan proses pengembangan. Sekarang tidak dapat disangkal bahwa detail pelatihan dan struktural ini sangat penting untuk penelitian, termasuk akses ke risiko dan bias potensial mereka, sehingga menciptakan kebutuhan bagi komunitas penelitian untuk memiliki akses ke model bahasa yang benar-benar terbuka dan kuat.
Untuk memenuhi kebutuhan ini, pengembang telah menciptakan OLMo, sebuah kerangka kerja model bahasa yang canggih dan benar-benar terbuka. Kerangka kerja ini memungkinkan peneliti untuk menggunakan OLMo untuk membangun dan mempelajari model bahasa. Tidak seperti sebagian besar model bahasa canggih, yang hanya merilis kode antarmuka dan bobot model, kerangka kerja OLMo benar-benar sumber terbuka, dengan kode evaluasi yang dapat diakses secara publik, metode pelatihan, dan data pelatihan. Tujuan utama OLMo adalah untuk memberdayakan dan meningkatkan komunitas penelitian terbuka dan pengembangan model bahasa yang berkelanjutan.
Dalam artikel ini, kita akan membahas kerangka kerja OLMo secara rinci, memeriksa arsitektur, metode, dan kinerja yang dibandingkan dengan kerangka kerja canggih saat ini. Jadi, mari kita mulai.
OLMo: Meningkatkan Ilmu Bahasa Model
Model bahasa telah menjadi tren terpanas selama beberapa tahun terakhir, tidak hanya dalam komunitas AI dan ML tetapi juga di seluruh industri teknologi, karena kemampuan luar biasa dalam melakukan tugas dunia nyata dengan kinerja seperti manusia. ChatGPT adalah contoh potensial model bahasa, dengan pemain utama di industri teknologi menjelajahi integrasi model bahasa dengan produk mereka.
NLP, atau Pemrosesan Bahasa Alami, adalah salah satu industri yang telah secara luas menggunakan model bahasa selama beberapa tahun terakhir. Namun, sejak industri mulai menggunakan anotasi manusia untuk penyelarasan dan pelatihan skala besar, model bahasa telah menyaksikan peningkatan cepat dalam viabilitas komersial, menghasilkan sebagian besar model bahasa dan kerangka kerja NLP canggih memiliki antarmuka proprietari yang terbatas, dengan komunitas pengembangan tidak memiliki akses ke detail vital.
Untuk memastikan kemajuan model bahasa, OLMo, sebuah model bahasa canggih dan benar-benar terbuka, menawarkan pengembang sebuah kerangka kerja untuk membangun, mempelajari, dan meningkatkan pengembangan model bahasa. Ini juga memberikan peneliti akses ke kode pelatihan dan evaluasi, metode pelatihan, data pelatihan, log pelatihan, dan titik periksa model intermediate. Model canggih yang ada memiliki tingkat keterbukaan yang bervariasi, sedangkan model OLMo telah merilis seluruh kerangka kerja, dari pelatihan hingga data hingga alat evaluasi, sehingga menyempitkan kesenjangan kinerja saat dibandingkan dengan model canggih seperti model LLaMA2.
Untuk pemodelan dan pelatihan, kerangka kerja OLMo mencakup kode pelatihan, bobot model penuh, ablasio, log pelatihan, dan metrik pelatihan dalam bentuk kode antarmuka, serta log Weights & Biases. Untuk analisis dan pembangunan dataset, kerangka kerja OLMo mencakup data pelatihan penuh yang digunakan untuk model AI2 Dolma dan WIMBD, bersama dengan kode yang menghasilkan data pelatihan. Untuk tujuan evaluasi, kerangka kerja OLMo mencakup model Catwalk AI2 untuk evaluasi downstream, dan model Paloma untuk evaluasi berbasis perplexitas.
OLMo : Model dan Arsitektur
Model OLMo mengadopsi arsitektur transformer decoder-only berdasarkan Sistem Pemrosesan Informasi Saraf, dan menawarkan dua model dengan 1 miliar dan 7 miliar parameter masing-masing, dengan model 65 miliar parameter saat ini sedang dikembangkan.

Arsitektur kerangka kerja OLMo menawarkan beberapa perbaikan atas kerangka kerja lainnya, termasuk komponen transformer vanilla dalam arsitektur mereka, termasuk model bahasa besar canggih terbaru seperti OpenLM, Falcon, LLaMA, dan PaLM. Gambar berikut membandingkan model OLMo dengan 7 miliar parameter melawan model LLM terbaru yang beroperasi pada jumlah parameter yang hampir sama.

Kerangka kerja OLMo memilih hiperparameter dengan mengoptimalkan model untuk throughput pelatihan pada perangkat keras sambil mengurangi risiko divergensi lambat dan lonjakan kerugian. Dengan demikian, perubahan utama yang diterapkan oleh kerangka kerja OLMo yang membedakannya dari arsitektur transformer vanilla adalah sebagai berikut:
Tanpa Bias
Tidak seperti Falcon, PaLM, LLaMA, dan model bahasa lainnya, kerangka kerja OLMo tidak memiliki bias dalam arsitektur untuk meningkatkan stabilitas pelatihan.
Norma Lapisan Non-Parametrik
Kerangka kerja OLMo menerapkan formulasi non-parametrik dari norma lapisan dalam arsitektur. Norma Lapisan Non-Parametrik menawarkan tidak ada transformasi afinitas dalam norma, yaitu tidak menawarkan gain atau bias adaptif. Norma Lapisan Non-Parametrik tidak hanya menawarkan lebih banyak keamanan daripada Norma Lapisan Parametrik, tetapi juga lebih cepat.
Fungsi Aktivasi SwiGLU
Seperti sebagian besar model bahasa seperti PaLM dan LLaMA, kerangka kerja OLMo mencakup fungsi aktivasi SwiGLU dalam arsitektur, bukan fungsi aktivasi ReLU, dan meningkatkan ukuran aktivasi tersembunyi ke kelipatan terdekat dari 128 untuk meningkatkan throughput.
RoPE atau Embedding Posisi Rotary
Model OLMo mengikuti model LLaMA dan PaLM dan menukar embedding posisi absolut dengan RoPE atau Embedding Posisi Rotary.
Pelatihan Pra dengan Dolma
Meskipun komunitas pengembangan sekarang memiliki akses yang ditingkatkan ke parameter model, pintu untuk mengakses dataset pelatihan pra masih tertutup karena data pelatihan pra tidak dirilis bersama dengan model tertutup atau model terbuka. Selain itu, dokumentasi teknis yang mencakup data tersebut sering kali kekurangan detail vital yang diperlukan untuk memahami dan mereplikasi model sepenuhnya. Hambatan ini membuat penelitian dalam beberapa thread penelitian model bahasa, termasuk pemahaman tentang bagaimana data pelatihan mempengaruhi kemampuan dan keterbatasan model, menjadi sulit. Kerangka kerja OLMo membangun dan merilis dataset pelatihan pra, Dolma, untuk memfasilitasi penelitian terbuka tentang pelatihan model bahasa. Dataset Dolma adalah koleksi multi-sumber dan beragam yang mencakup lebih dari 3 triliun token di seluruh 5 miliar dokumen yang dikumpulkan dari 7 sumber yang berbeda yang umum digunakan oleh model LLM skala besar untuk pelatihan pra dan dapat diakses oleh masyarakat umum. Komposisi dataset Dolma diringkas dalam tabel berikut.

Dataset Dolma dibangun menggunakan pipa yang terdiri dari 5 komponen: penyaringan bahasa, penyaringan kualitas, penyaringan konten, pencampuran multi-sumber, deduplikasi, dan tokenisasi. OLMo juga merilis laporan Dolma yang memberikan wawasan lebih lanjut tentang prinsip desain dan detail konstruksi, serta ringkasan konten yang lebih rinci. Model ini juga membuka sumber alat kurasi data performa tinggi untuk memungkinkan kurasi data korpus pelatihan pra yang mudah dan cepat. Evaluasi model mengikuti strategi dua tahap, dimulai dengan evaluasi online untuk pengambilan keputusan selama pelatihan model dan evaluasi offline akhir untuk evaluasi agregat dari titik periksa model. Untuk evaluasi offline, OLMo menggunakan kerangka kerja Catwalk, alat evaluasi yang tersedia secara publik yang memiliki akses ke berbagai dataset dan format tugas. Kerangka kerja ini menggunakan Catwalk untuk evaluasi downstream serta evaluasi pemodelan bahasa intrinsik pada benchmark perplexitas baru, Paloma. OLMo kemudian membandingkannya dengan beberapa model publik menggunakan pipa evaluasi tetap, baik untuk evaluasi downstream maupun evaluasi perplexitas.
OLMo menjalankan beberapa metrik evaluasi tentang arsitektur model, inisialisasi, pengoptimal, jadwal tarif pembelajaran, dan campuran data selama pelatihan model. Pengembang menyebutnya “evaluasi online” OLMo karena ini adalah iterasi dalam loop pada setiap 1000 langkah pelatihan (∼4B token pelatihan) untuk memberikan sinyal awal dan terus-menerus tentang kualitas model yang sedang dilatih. Pengaturan evaluasi ini bergantung pada sebagian besar tugas inti dan pengaturan eksperimen yang digunakan untuk evaluasi offline kami. OLMo bertujuan tidak hanya untuk membandingkan OLMo-7B dengan model lain untuk kinerja terbaik, tetapi juga untuk menunjukkan bagaimana OLMo memungkinkan evaluasi ilmiah yang lebih lengkap dan terkendali. OLMo-7B adalah model bahasa terbesar dengan dekontaminasi eksplisit untuk evaluasi perplexitas.
Pelatihan OLMo
Perlu diingat bahwa model kerangka kerja OLMo dilatih menggunakan strategi pengoptimal ZeRO, yang disediakan oleh kerangka kerja FSDP melalui PyTorch dan, dengan cara ini, secara substansial mengurangi konsumsi memori GPU dengan membagi bobot model ke atas GPU. Dengan demikian, pada skala 7B, pelatihan dapat dilakukan dengan ukuran batch mikro sebesar 4096 token per GPU pada perangkat keras kami. Kerangka kerja pelatihan untuk model OLMo-1B dan -7B menggunakan ukuran batch global konstan sekitar 4M token (2048 instance masing-masing dengan panjang urutan 2048 token). Untuk model OLMo-65B (saat ini sedang dilatih), pengembang menggunakan ukuran batch warmup yang dimulai sekitar 2M token (1024 instance), menggandakan setiap 100B token hingga sekitar 16M token (8192 instance).
Untuk meningkatkan throughput, kami menggunakan pelatihan presisi campuran (Micikevicius et al., 2017) melalui pengaturan bawaan FSDP dan modul amp PyTorch. Yang terakhir memastikan bahwa operasi tertentu seperti softmax selalu berjalan dalam presisi penuh untuk meningkatkan stabilitas, sedangkan operasi lainnya berjalan dalam setengah presisi dengan format bfloat16. Di bawah pengaturan khusus kami, bobot model yang dipecah dan keadaan pengoptimal yang setempat pada setiap GPU disimpan dalam presisi penuh. Bobot dalam setiap blok transformer hanya diubah menjadi format bfloat16 ketika parameter berukuran penuh dimaterialisasi pada setiap GPU selama fase maju dan mundur. Gradien dikurangi di seluruh GPU dalam presisi penuh.
Pengoptimal
Kerangka kerja OLMo menggunakan pengoptimal AdamW dengan hiperparameter berikut.

Untuk semua ukuran model, tarif pembelajaran memanaskan secara linear selama 5000 langkah pertama (∼21B token) ke nilai maksimum, dan kemudian menurun secara linear dengan akar kuadrat dari nomor langkah ke tarif pembelajaran minimum yang ditentukan. Setelah periode pemanasan, model memotong gradien sehingga norma l- total dari gradien parameter tidak melebihi 1,0. Tabel berikut memberikan perbandingan pengaturan pengoptimal kami pada skala 7B dengan pengoptimal lain yang digunakan oleh LLM terbaru yang juga menggunakan AdamW.

Data Pelatihan
Pelatihan melibatkan tokenisasi instance pelatihan dengan kata dan BPE tokenizer untuk model potongan kalimat setelah menambahkan token EOS khusus di akhir setiap dokumen, dan kemudian kita mengelompokkan potongan berturut-turut sebesar 2048 token untuk membentuk instance pelatihan. Instance pelatihan dikocok dengan cara yang sama untuk setiap jalur pelatihan. Urutan data dan komposisi eksak dari setiap batch pelatihan dapat direkonstruksi dari artefak yang kami rilis. Semua model OLMo yang dirilis telah dilatih setidaknya 2T token (satu epoch di atas data pelatihan), dan beberapa dilatih lebih jauh dengan memulai epoch kedua di atas data dengan urutan pengacakan yang berbeda. Dengan jumlah data yang diulang yang relatif kecil, ini seharusnya memiliki efek yang dapat diabaikan.
Hasil
Titik periksa yang digunakan untuk evaluasi OLMo-7B dilatih hingga 2,46T token pada dataset Dolma dengan jadwal penurunan tarif pembelajaran linear yang disebutkan sebelumnya. Pelatihan lebih lanjut titik periksa ini pada dataset Dolma selama 1000 langkah dengan tarif pembelajaran yang menurun secara linear ke 0 lebih lanjut meningkatkan kinerja model pada perplexitas dan suite evaluasi akhir yang dijelaskan sebelumnya. Untuk evaluasi akhir, pengembang membandingkan OLMo dengan model lain yang tersedia secara publik – LLaMA-7B, LLaMA2-7B, Pythia-6,9B, Falcon-7B, dan RPJ-INCITE-7B.
Evaluasi Downstream
Suite evaluasi downstream inti diringkas dalam tabel berikut.

Kami melakukan evaluasi zero-shot dengan pendekatan klasifikasi peringkat dalam semua kasus. Dalam pendekatan ini, pelengkapan teks kandidat (misalnya, pilihan jawaban yang berbeda) diberi peringkat oleh kemungkinan (biasanya dinormalisasi oleh faktor normalisasi), dan akurasi prediksi dilaporkan.
Sementara Catwalk menggunakan beberapa metode normalisasi kemungkinan yang khas, seperti normalisasi per token dan normalisasi per karakter, strategi normalisasi yang diterapkan dipilih secara terpisah untuk setiap dataset dan termasuk kemungkinan tak bersyarat jawaban. Lebih khusus, ini melibatkan tidak ada normalisasi untuk tugas arc dan openbookqa, normalisasi per token untuk tugas hellaswag, piqa, dan winogrande, dan tidak ada normalisasi untuk tugas boolq, copa, dan sciq (yaitu, tugas dalam formulasi yang dekat dengan tugas prediksi token tunggal).

Gambar berikut menunjukkan kemajuan skor akurasi untuk sembilan tugas akhir. Dapat disimpulkan bahwa ada tren peningkatan umum dalam skor akurasi untuk semua tugas, kecuali untuk OBQA, ketika OLMo-7B dilatih lebih lanjut pada lebih banyak token. Lonjakan tajam ke atas dalam akurasi banyak tugas antara langkah terakhir dan langkah kedua terakhir menunjukkan manfaat dari pengurangan LR linier ke 0 selama 1000 langkah pelatihan terakhir. Misalnya, dalam hal evaluasi intrinsik, Paloma berargumen melalui serangkaian analisis, dari inspeksi kinerja di setiap domain secara terpisah hingga hasil yang lebih ringkas atas kombinasi domain. Kami melaporkan hasil pada dua tingkat granularitas: kinerja agregat atas 11 dari 18 sumber di Paloma, serta hasil yang lebih halus atas setiap sumber ini secara individual.

Pemikiran Akhir
Dalam artikel ini, kita telah membahas OLMo, sebuah model bahasa canggih yang benar-benar terbuka yang menawarkan pengembang sebuah kerangka kerja untuk membangun, mempelajari, dan meningkatkan pengembangan model bahasa, serta memberikan peneliti akses ke kode pelatihan dan evaluasi, metode pelatihan, data pelatihan, log pelatihan, dan titik periksa model intermediate. Model canggih yang ada memiliki tingkat keterbukaan yang bervariasi, sedangkan model OLMo telah merilis seluruh kerangka kerja, dari pelatihan hingga data hingga alat evaluasi, sehingga menyempitkan kesenjangan kinerja saat dibandingkan dengan model canggih seperti model LLaMA2.












