Yazarlar:
(1) Mingjie Liu, NVIDIA {Eşit katkı};
(2) Teodor-Dumitru Ene, NVIDIA {Eşit katkı};
(3) Robert Kirby, NVIDIA {Eşit katkı};
(4) Chris Cheng, NVIDIA {Eşit katkı};
(5) Nathaniel Pinckney, NVIDIA {Eşit katkı};
(6) Rongjian Liang, NVIDIA {Eşit katkı};
(7) Jonah Alben, NVIDIA;
(8) Himyanshu Anand, NVIDIA;
(9) Sanmitra Banerjee, NVIDIA;
(10) İsmet Bayraktaroğlu, NVIDIA;
(11) Bonita Bhaskaran, NVIDIA;
(12) Bryan Catanzaro, NVIDIA;
(13) Arjun Chaudhuri, NVIDIA;
(14) Sharon Clay, NVIDIA;
(15) Bill Dally, NVIDIA;
(16) Laura Dang, NVIDIA;
(17) Parikshit Deshpande, NVIDIA;
(18) Siddhanth Dhodhi, NVIDIA;
(19) Sameer Halepete, NVIDIA;
(20) Eric Hill, NVIDIA;
(21) Jiashang Hu, NVIDIA;
(22) Sumit Jain, NVIDIA;
(23) Brucek Khailany, NVIDIA;
(24) George Kokai, NVIDIA;
(25) Kishor Kunal, NVIDIA;
(26) Xiaowei Li, NVIDIA;
(27) Charley Lind, NVIDIA;
(28) Hao Liu, NVIDIA;
(29) Stuart Oberman, NVIDIA;
(30) Sujeet Omar, NVIDIA;
(31) Sreedhar Pratty, NVIDIA;
(23) Jonathan Raiman, NVIDIA;
(33) Ambar Sarkar, NVIDIA;
(34) Zhengjiang Shao, NVIDIA;
(35) Hanfei Sun, NVIDIA;
(36) Pratik P Suthar, NVIDIA;
(37) Varun Tej, NVIDIA;
(38) Walker Turner, NVIDIA;
(39) Kaizhe Xu, NVIDIA;
(40) Haoxing Ren, NVIDIA.
ChipNeMo, Yüksek Lisans'ları çip tasarım alanına uyarlamak için birden fazla alan uyarlama tekniği uygular. Bu teknikler arasında çip tasarımı verileri için özel belirteçler, geniş alan verileri kümesiyle alana uyarlanabilir ön eğitim, alana özel görevlerle denetimli ince ayar ve ince ayarlı bir alma modeliyle geri alma, artırılmış nesil yer alıyor. Bu bölümde her tekniğin ayrıntılarını göstereceğiz.
A. Tokenlaştırıcı
Önceden eğitilmiş bir tokenizer uyarlanırken ana hedefler, alana özgü veriler üzerinde tokenizasyon verimliliğini artırmak, genel veri kümelerinde verimliliği ve dil modeli performansını korumak ve yeniden eğitim/ince ayar çabasını en aza indirmektir. Bunu başarmak için dört adımlı bir yaklaşım geliştirdik:
• Adım 1: Etki alanına özgü verileri kullanarak bir tokenizer'ı sıfırdan eğitin.
• Adım 2: Yeni tokenizer'ın sözlüğünden, genel amaçlı tokenizer'da bulunmayan ve genel amaçlı veri kümelerinde nadiren bulunan token'ların belirlenmesi.
• 3. Adım: Genel amaçlı tokenizer'ın 2. Adımda yeni tanımlanan tokenlarla genişletilmesi.
• Adım 4: Genel amaçlı tokenizer'ı kullanarak yeni tokenların yerleştirmelerini başlatmak.
Özellikle Adım 4 için, yeni bir tokenla karşılaşıldığında, önceden eğitilmiş genel amaçlı tokenizer kullanılarak tokenize edilir. Yeni tokenin yerleştirilmesi, genel amaçlı tokenizer [24] tarafından üretilen tokenlerin yerleştirmelerinin ve sıfıra başlatılan çıktı katmanı ağırlıklarının ortalaması alınarak belirlenir.
Adım 2, genel amaçlı veri kümelerinde nadiren karşılaşılan yeni belirteçleri seçici olarak tanıtarak, önceden eğitilmiş LLM'nin genel veri kümeleri üzerindeki performansının korunmasına yardımcı olur. Ve 4. Adım, genel amaçlı tokenizer tarafından yönlendirilen yeni tokenların yerleştirilmesinin başlatılması yoluyla LLM'nin yeniden eğitilmesi/ince ayarlanması için gereken çabayı azaltır.
B. Etki Alanına Uyarlanabilir Ön Eğitim
Çalışmamızda DAPT'yi önceden eğitilmiş temel taban modelleri LLaMA2 7B/13B üzerinde uyguluyoruz. Her DAPT modeli, karşılık gelen önceden eğitilmiş temel temel modellerin ağırlıkları kullanılarak başlatılır. DAPT modellerimize ChipNeMo adını veriyoruz. Bölüm III-A'da gösterildiği gibi tokenizer artırmayı kullanıyoruz ve buna göre yerleştirme ağırlığını başlatıyoruz [24]. Standart otoregresif dil modelleme hedefini kullanarak alana özgü veriler üzerinde daha fazla ön eğitim yürütüyoruz. Tüm model eğitim prosedürleri, gelişmiş verimlilik için tensör paralelliği [26] ve flaş dikkati [27] gibi teknikleri birleştiren NVIDIA NeMo çerçevesi [25] kullanılarak gerçekleştirilir.
Şekil 2, belirtilen hiperparametreler altında ChipNeMo'nun eğitim kaybını göstermektedir. Antrenman kaybında ani artışlar gözlemliyoruz. [28]'deki hipotezin aksine, senaryomuzda bu ani artışların "kötü verilere" atfedilebileceğini varsayıyoruz çünkü bu düzensizlikler, farklı model boyutlarında bile aynı model için benzer eğitim adımlarında sürekli olarak ortaya çıkıyor gibi görünüyor. Muhtemelen düşük öğrenme oranı uygulamamızdan dolayı, bu anormallikler sonraki eğitim adımlarını önemli ölçüde engellemiyor gibi göründüğünden (doğrulama kaybında gözle görülür bir bozulma olmadan) bu sorunu ele almamayı seçtik.
C. Denetimli İnce Ayar
DAPT'den sonra denetimli ince ayar (SFT) ile model hizalama gerçekleştiriyoruz. 128'lik azaltılmış küresel toplu iş boyutunun kullanılması dışında, tüm modeller için DAPT ile aynı hiperparametre eğitim yapılandırmasını benimsiyoruz. Tüm SFT verileri aşağıdaki sohbet şablonuna göre yapılandırılmıştır:
<extra_id_0>sistem\n{sistem}
<extra_id_1>Kullanıcı\n{user_utterance}
<extra_id_1>Asistan\n{chipnemo_response}
…
Sistemden kaynaklanan belirteçlerle ve kullanıcı istemleriyle ilişkili kayıpların maskelendiği bir strateji uygulayan, otoregresif bir optimizasyon hedefi kullanıyoruz [5]. Bu yaklaşım, geri yayılım sırasında odak noktamızın yalnızca yanıt belirteçlerinin optimizasyonuna yönlendirilmesini sağlar.
Yaklaşık 1,1 bin örnekten oluşan etki alanı SFT veri kümemizi, 128 bin örnekten oluşan daha kapsamlı genel sohbet SFT veri kümesiyle birleştiriyoruz. Daha sonra verilere rastgele bir karıştırma uyguladıktan sonra tek bir dönem için ince ayar yaptık. Birden fazla dönem için alana özgü SFT veri kümesinin arttırılmasını içeren deneyler yaptık. Bununla birlikte, modelin, alan içi sorularla sunulduğunda hızla aşırı uyum belirtileri gösterdiği ve sıklıkla alan SFT veri kümesinden alakasız yanıtları tekrarladığı ortaya çıktı.
Ayrıca, alana özel SFT verilerini hariç tutarak yalnızca genel sohbet veri kümesini kullanarak ek bir SFT gerçekleştirdik. Anlaşılır olması açısından tüm ChipNeMo modellerimizi aşağıdaki gibi tanımlıyoruz:
ChipNeMo-Chat: Hem etki alanı hem de genel sohbet verileriyle ince ayarlı modeller;
ChipNeMo-Chat (noDSFT): Özel olarak genel sohbet verileriyle ince ayar yapılan modeller.
Ayrıca DAPT'yi, LLaMA2-Chat modeli gibi doğrudan sohbet uyumlu bir model üzerinde de denedik. DAPT'nin modelin hizalamasını önemli ölçüde bozduğunu ve ortaya çıkan modeli sonraki görevler için işe yaramaz hale getirdiğini gördük.
D. Erişimle Artırılmış Üretim
LLM'lerin halüsinasyon olarak adlandırılan hatalı metinler üretebileceği iyi bilinmektedir [29]. Bu fenomen tam olarak anlaşılmamış olsa da, halüsinasyonları azaltmamız gerekiyor çünkü bunlar, doğruluğun kritik olduğu mühendislik asistanı chatbot bağlamında özellikle sorunludur. Teklifimiz, alma artırılmış üretim (RAG) yönteminden yararlanmaktır. RAG, soruyla birlikte bilgi istemine dahil edilecek bir veri tabanından ilgili pasajları almaya çalışır, bu da LLM'nin daha doğru cevaplar üretmesine zemin hazırlar. RAG için alana uyarlanmış bir dil modeli kullanmanın, alana özgü sorularımızın yanıt kalitesini önemli ölçüde artırdığını bulduk. Ayrıca, kullanıma hazır, denetimsiz, önceden eğitilmiş yoğun bir alma modeline, az miktarda alana özel eğitim verisi ile ince ayar yapmanın, alma doğruluğunu önemli ölçüde artırdığını bulduk. Etki alanına uyarlanmış RAG uygulama diyagramımız Şekil 3'te gösterilmektedir.
Tevatron çerçevesini [31] kullanarak e5_small_unsupervised modeline [30] 3000 alana özgü otomatik olarak oluşturulan örneklerle ince ayar yaparak etki alanına uyarlanmış alma modelimizi oluşturduk. Örnek oluşturma ve eğitim süreci Ek C'de ele alınmaktadır.
Bir geri alma modelinin ince ayarının yapılmasıyla elde edilen önemli kazanımlara rağmen, belge derlemindeki pasajlarla doğrudan eşlenmeyen veya pasajda mevcut olmayan daha fazla bağlam gerektirmeyen sorgularla geri getirmenin hala zorlandığı gerçeği ortadadır. Ne yazık ki bu sorgular aynı zamanda mühendislerin gerçek durumlarda soracağı sorguları daha iyi temsil etmektedir. Alma işlemini etki alanına uyarlanmış bir dil modeliyle birleştirmek, bu sorunu çözmenin bir yoludur.
Bu makale arxiv'de CC 4.0 lisansı altında mevcuttur .