Kecerdasan Buatan
OLMo: Meningkatkan Ilmu Model Bahasa

Perkembangan dan kemajuan model bahasa dalam beberapa tahun terakhir telah menandai kehadirannya hampir di mana-mana, tidak hanya dalam penelitian NLP tetapi juga dalam penawaran komersial dan aplikasi dunia nyata. Namun, lonjakan permintaan komersial terhadap model bahasa, sampai batas tertentu, menghambat pertumbuhan komunitas. Hal ini karena sebagian besar model yang canggih dan mumpuni berada di balik antarmuka eksklusif, sehingga mustahil bagi komunitas pengembangan untuk mengakses detail penting dari arsitektur pelatihan, data, dan proses pengembangan mereka. Tidak dapat disangkal bahwa pelatihan dan rincian struktural ini sangat penting untuk studi penelitian, termasuk akses terhadap potensi risiko dan biasnya, sehingga menciptakan persyaratan bagi komunitas riset untuk memiliki akses terhadap model bahasa yang benar-benar terbuka dan kuat.
Untuk memenuhi persyaratan ini, pengembang telah menciptakan OLMo, kerangka model bahasa yang benar-benar terbuka dan canggih. Kerangka kerja ini memungkinkan peneliti menggunakan OLMo untuk membangun dan mempelajari model bahasa. Tidak seperti kebanyakan model bahasa canggih, yang hanya merilis kode antarmuka dan bobot model, kerangka kerja OLMo benar-benar open source, dengan kode evaluasi, metode pelatihan, dan data pelatihan yang dapat diakses publik. Tujuan utama OLMo adalah untuk memberdayakan dan meningkatkan komunitas riset terbuka dan pengembangan model bahasa yang berkelanjutan.
Pada artikel ini, kita akan membahas kerangka kerja OLMo secara mendetail, memeriksa arsitektur, metodologi, dan kinerjanya dibandingkan dengan kerangka kerja canggih saat ini. Jadi, mari kita mulai.
OLMo: Meningkatkan Ilmu Model Bahasa
Model bahasa bisa dibilang telah menjadi tren terpanas selama beberapa tahun terakhir, tidak hanya dalam komunitas AI dan ML tetapi juga di seluruh industri teknologi, karena kemampuannya yang luar biasa dalam melakukan tugas-tugas dunia nyata dengan kinerja mirip manusia. ChatGPT adalah contoh utama dari potensi model bahasa, dengan para pemain besar di industri teknologi menjajaki integrasi model bahasa dengan produk mereka.
NLP, atau Natural Language Processing, adalah salah satu industri yang banyak menggunakan model bahasa selama beberapa tahun terakhir. Namun, sejak industri mulai menggunakan anotasi manusia untuk penyelarasan dan pra-pelatihan skala besar, model bahasa telah mengalami peningkatan pesat dalam kelayakan komersialnya, sehingga sebagian besar bahasa canggih dan kerangka kerja NLP mengalami keterbatasan. antarmuka berpemilik, dengan komunitas pengembangan tidak memiliki akses ke detail penting.
Untuk memastikan kemajuan model bahasa, OLMo, model bahasa yang benar-benar terbuka dan canggih, menawarkan kerangka kerja kepada pengembang untuk membangun, mempelajari, dan memajukan pengembangan model bahasa. Ini juga memberi peneliti akses ke kode pelatihan dan evaluasi, metodologi pelatihan, data pelatihan, log pelatihan, dan pos pemeriksaan model perantara. Model canggih yang ada memiliki tingkat keterbukaan yang berbeda-beda, sedangkan model OLMo telah merilis keseluruhan kerangka kerja, mulai dari pelatihan, data, hingga alat evaluasi, sehingga mempersempit kesenjangan kinerja jika dibandingkan dengan model canggih seperti model LLaMA2.
Untuk pemodelan dan pelatihan, framework OLMo mencakup kode pelatihan, bobot model lengkap, ablasi, log pelatihan, dan metrik pelatihan dalam bentuk kode antarmuka, serta log Bobot & Bias. Untuk analisis dan pembuatan kumpulan data, kerangka kerja OLMo mencakup data pelatihan lengkap yang digunakan untuk model Dolma dan WIMBD AI2, beserta kode yang menghasilkan data pelatihan. Untuk tujuan evaluasi, kerangka kerja OLMo mencakup model Catwalk AI2 untuk evaluasi hilir, dan model Paloma untuk evaluasi berbasis kebingungan.
OLMo : Model dan Arsitektur
Model OLMo mengadopsi arsitektur transformator khusus dekoder berdasarkan Sistem Pemrosesan Informasi Neural, dan menghadirkan dua model dengan masing-masing 1 miliar dan 7 miliar parameter, dengan model 65 miliar parameter yang saat ini sedang dikembangkan.
Arsitektur kerangka kerja OLMo memberikan beberapa perbaikan pada kerangka kerja termasuk komponen transformator vanilla dalam arsitekturnya termasuk yang paling mutakhir model bahasa besar seperti OpenLM, Falcon, LLaMA, dan PaLM. Gambar berikut membandingkan model OLMo dengan 7 miliar parameter terhadap LLM terbaru yang beroperasi pada jumlah parameter yang hampir sama.
Kerangka kerja OLMo memilih hyperparameter dengan mengoptimalkan model untuk throughput pelatihan pada perangkat keras sekaligus meminimalkan risiko divergensi lambat dan lonjakan kerugian. Oleh karena itu, perubahan utama yang diterapkan oleh kerangka OLMo yang membedakan dirinya dari arsitektur transformator vanilla adalah sebagai berikut:
Tidak Ada Bias
Tidak seperti Falcon, PaLM, LLaMA, dan model bahasa lainnya, kerangka kerja OLMo tidak menyertakan bias apa pun dalam arsitekturnya untuk meningkatkan stabilitas pelatihan.
Norma Lapisan Non-Parametrik
Kerangka kerja OLMo mengimplementasikan formulasi non-parametrik dari norma lapisan dalam arsitekturnya. Norma Lapisan Non-Parametrik tidak menawarkan transformasi affine dalam norma, yaitu tidak menawarkan keuntungan atau bias adaptif apa pun. Norma Lapisan Non-Parametrik tidak hanya menawarkan keamanan lebih dibandingkan Norma Lapisan Parametrik, namun juga lebih cepat.
Fungsi Aktivasi SwiGLU
Seperti kebanyakan model bahasa seperti PaLM dan LLaMA, kerangka kerja OLMo menyertakan fungsi aktivasi SwiGLU dalam arsitekturnya, bukan fungsi aktivasi ReLU, dan meningkatkan ukuran aktivasi tersembunyi ke kelipatan terdekat 128 untuk meningkatkan throughput.
Tali PE atau Penanaman Posisi Putar
Model OLMo mengikuti model LLaMA dan PaLM dan menukar penyematan posisi absolut dengan RoPE atau Penyematan Posisi Putar.
Pra Pelatihan dengan Dolma
Meskipun komunitas pengembang kini telah meningkatkan akses terhadap parameter model, pintu untuk mengakses kumpulan data pra-pelatihan masih tetap tertutup karena data pra-pelatihan tidak dirilis bersamaan dengan model tertutup atau bersamaan dengan model terbuka. Selain itu, dokumentasi teknis yang mencakup data tersebut seringkali tidak memiliki rincian penting yang diperlukan untuk sepenuhnya memahami dan mereplikasi model tersebut. Hambatan ini menyulitkan untuk meneruskan penelitian pada topik-topik tertentu model bahasa penelitian termasuk pemahaman tentang bagaimana data pelatihan memengaruhi kemampuan dan keterbatasan model. Kerangka kerja OLMo membangun dan merilis kumpulan data pra-pelatihan, Dolma, untuk memfasilitasi penelitian terbuka tentang pra-pelatihan model bahasa. Kumpulan data Dolma adalah kumpulan multi-sumber dan beragam lebih dari 3 triliun token di 5 miliar dokumen yang dikumpulkan dari 7 sumber berbeda yang biasanya digunakan oleh LLM skala besar yang kuat untuk pra-pelatihan dan dapat diakses oleh khalayak umum. Komposisi dataset Dolma dirangkum dalam tabel berikut.
Kumpulan data Dolma dibangun menggunakan rangkaian 5 komponen: pemfilteran bahasa, pemfilteran kualitas, pemfilteran konten, pencampuran multi-sumber, deduplikasi, dan tokenisasi. OLMo juga telah merilis laporan Dolma yang memberikan lebih banyak wawasan tentang prinsip desain dan detail konstruksi serta ringkasan konten yang lebih detail. Model ini juga membuka sumber alat kurasi data berkinerja tinggi untuk memungkinkan kurasi korpora data pra-pelatihan dengan 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 pemeriksaan model. Untuk evaluasi offline, OLMo menggunakan kerangka kerja Catwalk, alat evaluasi kami yang tersedia untuk umum dan memiliki akses ke beragam kumpulan data dan format tugas. Kerangka kerja ini menggunakan Catwalk untuk evaluasi hilir serta evaluasi pemodelan bahasa intrinsik pada tolok ukur kebingungan baru kami, Paloma. OLMo kemudian membandingkannya dengan beberapa model publik menggunakan jalur evaluasi tetap, baik untuk evaluasi hilir maupun kebingungan.
OLMo menjalankan beberapa metrik evaluasi tentang arsitektur model, inisialisasi, pengoptimal, jadwal kecepatan pembelajaran, dan campuran data selama pelatihan model. Pengembang menyebutnya “evaluasi online” OLMo karena ini merupakan iterasi berulang pada setiap 1000 langkah pelatihan (atau ∼4 miliar token pelatihan) untuk memberikan sinyal awal dan berkelanjutan mengenai kualitas model yang dilatih. Penyiapan evaluasi ini bergantung pada sebagian besar tugas inti dan setelan eksperimen yang digunakan untuk evaluasi offline kami. OLMo bertujuan tidak hanya untuk membandingkan OLMo-7B dengan model lain untuk mendapatkan kinerja terbaik, tetapi juga untuk menunjukkan bagaimana model ini memungkinkan evaluasi ilmiah yang lebih lengkap dan terkendali. OLMo-7B adalah Model Bahasa terbesar dengan dekontaminasi eksplisit untuk evaluasi kebingungan.
Pelatihan OLMo
Perlu dicatat 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 pada GPU. Dengan demikian, pada skala 7 miliar, pelatihan dapat dilakukan dengan ukuran mikro-batch 4096 token per GPU pada perangkat keras kami. Kerangka kerja pelatihan untuk model OLMo-1B dan -7B menggunakan ukuran batch yang konstan secara global sekitar 4 juta token (masing-masing 2048 instans dengan panjang urutan 2048 token). Untuk model OLMo-65B (saat ini sedang dalam pelatihan), pengembang menggunakan pemanasan ukuran batch yang dimulai dari sekitar 2 juta token (1024 instans), yang berlipat ganda setiap 100 miliar token hingga sekitar 16 juta token (8192 instans).
Untuk meningkatkan throughput, kami menerapkan 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 dengan presisi penuh untuk meningkatkan stabilitas, sementara semua operasi lainnya berjalan dengan setengah presisi dengan format bfloat16. Berdasarkan pengaturan spesifik kami, bobot model shard dan status pengoptimal lokal untuk setiap GPU dijaga dengan presisi penuh. Bobot dalam setiap blok transformator hanya dimasukkan ke format bfloat16 ketika parameter berukuran penuh terwujud pada setiap GPU selama lintasan maju dan mundur. Gradien dikurangi di seluruh GPU dengan presisi penuh.
Pengoptimal
Kerangka kerja OLMo memanfaatkan pengoptimal AdamW dengan hyperparameter berikut.
Untuk semua ukuran model, kecepatan pembelajaran meningkat secara linear pada 5000 langkah pertama (∼21 miliar token) hingga nilai maksimum, lalu menurun secara linier dengan akar kuadrat terbalik dari jumlah langkah ke kecepatan pembelajaran minimum yang ditentukan. Setelah periode pemanasan, model memotong gradien sedemikian rupa sehingga total l-norma gradien parameter tidak melebihi 1.0. Tabel berikut memberikan perbandingan pengaturan pengoptimal kami pada skala 7B dengan pengaturan dari LM terbaru lainnya yang juga menggunakan AdamW.
Data pelatihan
Pelatihan melibatkan tokenisasi contoh pelatihan berdasarkan kata dan tokenizer BPE untuk model potongan kalimat setelah menambahkan token EOS khusus di akhir setiap dokumen, dan kemudian kami mengelompokkan potongan 2048 token secara berurutan untuk membentuk contoh pelatihan. Instance pelatihan diacak dengan cara yang sama persis untuk setiap proses pelatihan. Urutan data dan komposisi pasti dari setiap batch pelatihan dapat direkonstruksi dari artefak yang kami rilis. Semua model OLMo yang dirilis telah dilatih untuk setidaknya 2T token (satu periode pada data pelatihannya), dan beberapa dilatih lebih dari itu dengan memulai periode kedua pada data dengan urutan pengacakan yang berbeda. Mengingat kecilnya jumlah data yang diulangi, dampaknya seharusnya dapat diabaikan.
Hasil
Pos pemeriksaan yang digunakan untuk evaluasi OLMo-7B dilatih hingga 2.46T token pada kumpulan data Dolma dengan jadwal peluruhan kecepatan pembelajaran linier yang disebutkan sebelumnya. Menyesuaikan lebih lanjut pos pemeriksaan ini pada kumpulan data Dolma untuk 1000 langkah dengan kecepatan pembelajaran yang menurun secara linier menjadi 0 semakin meningkatkan kinerja model pada rangkaian evaluasi kebingungan dan tugas akhir yang dijelaskan sebelumnya. Untuk evaluasi akhir, pengembang membandingkan OLMo dengan model lain yang tersedia untuk umum – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B dan RPJ-INCITE-7B.
Evaluasi hilir
Rangkaian evaluasi inti hilir dirangkum dalam tabel berikut.
Kami melakukan evaluasi zero-shot dengan pendekatan klasifikasi peringkat dalam semua kasus. Dalam pendekatan ini, kandidat penyelesaian teks (misalnya, opsi pilihan ganda yang berbeda) diberi peringkat berdasarkan kemungkinan (biasanya dinormalisasi dengan beberapa faktor normalisasi), dan keakuratan prediksi dilaporkan.
Meskipun Catwalk menggunakan beberapa metode normalisasi kemungkinan yang umum, seperti normalisasi per token dan normalisasi per karakter, strategi normalisasi yang diterapkan dipilih secara terpisah untuk setiap set data dan mencakup kemungkinan tanpa syarat dari jawaban tersebut. Lebih konkretnya, hal ini tidak melibatkan normalisasi untuk tugas arc dan openbookqa, normalisasi per token untuk tugas hellaswag, piqa, dan winogrande, serta tidak ada normalisasi untuk tugas boolq, copa, dan sciq (yaitu, tugas dalam formulasi yang mendekati tugas prediksi token tunggal).
Gambar berikut menunjukkan kemajuan skor akurasi untuk sembilan tugas akhir inti. Dapat disimpulkan bahwa secara umum terdapat tren peningkatan angka akurasi untuk semua tugas, kecuali OBQA, karena OLMo-7B dilatih lebih lanjut pada lebih banyak token. Peningkatan tajam dalam akurasi banyak tugas antara langkah terakhir dan kedua hingga terakhir menunjukkan kepada kita manfaat mengurangi LR secara linear menjadi 0 selama 1000 langkah pelatihan terakhir. Misalnya, dalam kasus evaluasi intrinsik, Paloma berpendapat melalui serangkaian analisis, mulai dari pemeriksaan kinerja di setiap domain secara terpisah hingga hasil yang lebih ringkas pada kombinasi domain. Kami melaporkan hasil pada dua tingkat perincian: kinerja agregat pada 11 dari 18 sumber di Paloma, serta hasil yang lebih terperinci pada masing-masing sumber secara terpisah.
Final Thoughts
Dalam artikel ini, kita telah membahas tentang OLMo, model bahasa terbuka yang benar-benar canggih yang menawarkan kerangka kerja kepada pengembang untuk membangun, mempelajari, dan memajukan pengembangan model bahasa serta memberikan peneliti akses ke kode pelatihan dan evaluasi, metodologi pelatihan, data pelatihan, log pelatihan, dan pos pemeriksaan model perantara. Model canggih yang ada memiliki tingkat keterbukaan yang berbeda-beda sedangkan model OLMo telah merilis seluruh kerangka kerja mulai dari pelatihan, data, hingga alat evaluasi, sehingga mempersempit kesenjangan kinerja jika dibandingkan dengan model canggih seperti model LLaMA2.