paint-brush
ChipNeMo: Çip Tasarımı için Etki Alanına Uyarlanmış Yüksek Lisanslar: Ekile@textmodels

ChipNeMo: Çip Tasarımı için Etki Alanına Uyarlanmış Yüksek Lisanslar: Ek

Çok uzun; Okumak

Araştırmacılar, çip tasarımı için LLM'leri geliştirmek üzere alan uyarlamasını kullanarak, daha iyi performansla 5 kata kadar model boyutunu küçültmeyi başaran ChipNeMo'yu sunuyor.
featured image - ChipNeMo: Çip Tasarımı için Etki Alanına Uyarlanmış Yüksek Lisanslar: Ek
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

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.

Bağlantı Tablosu

EK

A. Veri Toplama Süreci

Koleksiyon, ilgili tasarım verilerini ve belgelerini tanımlamak, mümkünse bunları düz metne dönüştürmek, temel kalite ölçümlerini kullanarak filtrelemek, hassas dosya tekilleştirme için bir sağlama toplamı hesaplamak ve bunları depolama için sıkıştırmak üzere tasarlanmış bir dizi kabuk ve Python komut dosyasıyla uygulandı. Toplama akışı, dahili veri kaynaklarının (hem ağ bağlantılı dosya sistemleri hem de dahili web uygulamaları) yerinde veri toplanması yoluyla alan gereksinimlerini en aza indirmeyi amaçladığımızdan, kullanıma hazır LLM'ye özgü kazıma ve toplama komut dosyalarını kullanmadı. Dosya sistemi tabanlı toplama için, ek ham veri kümelerini yerel olarak depolamak yerine veriler, kalite açısından filtrelenirken yerinde tutuldu.


Tasarım ve doğrulama verilerinin toplanması, Verilog ve VHDL (RTL ve netlists), C++, Spice, Tcl, çeşitli komut dosyası dilleri ve yapıyla ilgili yapılandırma dosyaları dahil olmak üzere çeşitli kaynak dosyalarını kapsıyordu. Dahili web hizmetlerinden gelen veriler, hem REST API çağrıları hem de geleneksel tarama yoluyla toplandı; HTML biçimlendirmesi, daha fazla kazan ekleme pahasına kodlama örneklerinin yanlışlıkla kaldırılmasını en aza indirmek için her iki durumda da açık kaynaklı BeautifulSoup [52] Python kitaplığı kullanılarak kaldırıldı. plaka gezinme çubukları ve diğer HTML sayfası öğeleri. Veri toplama akışımız, hazır Python dönüştürme kitaplıklarını ve açık kaynak araçlarını kullanarak .docx, .pptx ve .pdf dahil olmak üzere geleneksel belge formatlarını destekledi.


Çoğu dahili verinin yüksek kalitede olduğuna inanıldığından, minimum düzeyde filtreleme uygulandı: aşırı derecede büyük veya küçük dosyaların hariç tutulmasını sağlamak için satır sayısı filtrelemesi kullanıldı ve dosyalar, manuel olarak yazılan ve araçla oluşturulan geniş kategorilere göre sıralandı.

B. Etki Alanına Uyarlanabilir Ön Eğitim (DAPT)

Bu bölümde etki alanına uyarlanabilir önceden eğitilmiş modellerimiz hakkında ayrıntılı sonuçlar sunuyoruz. Etki alanına uyarlanabilir ön eğitim konusundaki ablasyon deneylerimizi de detaylandırıyoruz.


DAPT Hiperparametreleri: Ayrıntılar Tablo VI'da sunulmaktadır.


TABLO VI: DAPT ve SFT hiperparametreleri, parantez içinde gösterilen SFT değerleri (DAPT'den farklıysa).


Otomatik Değerlendirme Sonuçları: Otomatik değerlendirme kriterlerine ilişkin ayrıntılı sonuçları Tablo VII ve Tablo VIII'de sunuyoruz. Basitlik sağlamak amacıyla, bölümün geri kalanında ablasyon çalışmaları için toplu kıyaslama sonuçlarını sunuyoruz:


Çip : Alan içi Tasarım, Komut Dosyası Oluşturma, Hatalar ve Devreler kıyaslamalarına ilişkin ortalama sonuçları Tablo III'ten rapor ediyoruz (5 çekim).


• MMLU: Çok çeşitli konularda popüler birleştirilmiş kıyaslama olan MMLU (5-shot) [22] ile ilgili genel sonuçları rapor ediyoruz.


Muhakeme : Winogrande [53], hellaswag [54], ARC- easy [55] ve RACE-High [56] dahil olmak üzere sağduyulu muhakeme (0 atış) ile ilgili popüler kamu kıyaslamalarının ortalama sonuçlarını rapor ediyoruz.


Kod : HumanEval [23], VerilogEval-Machine [12] ve VerilogEval-Human [12] dahil olmak üzere açgözlü kod çözme ile kodlama kriterlerinin ortalama geçiş oranını rapor ediyoruz.


Tokenizer Arttırma: Bölüm III-A'da açıklandığı gibi orijinal LLaMA2 tokenizer'ı ve artırılmış tokenizer'ı kullanarak DAPT ile deneyler yaptık. Şekil 11, orijinal değiştirilmemiş tokenizer ile ChipNeMo için düzeltilmiş eğitim kaybını göstermektedir. Şekil 2 ile karşılaştırıldığında, temel model ön eğitimi sırasında eklenen belirteçlerin hiçbir zaman gözlemlenmemesi nedeniyle, artırılmış bir belirteçleyicinin başlatma sırasında daha büyük eğitim kaybına sahip olduğunu gözlemliyoruz. 1 dönemlik DAPT için de benzer eğitim kaybı elde edilir.


Tablo IX toplu otomatik değerlendirme kıyaslama sonuçlarını sunmaktadır. Dikkatli tokenizer artırma ve ağırlık başlatma işleminin, genel akademik kıyaslamalarda model performansını yalnızca çok az etkilediğini not ediyoruz. DAPT, Verilog kodlaması da dahil olmak üzere herhangi bir tokenizer ile alan adı kıyaslamalarını önemli ölçüde iyileştirdi (HumanEval'de büyük bir fark yok). Belirteçleyicinin arttırılmasının, modelin genel dil ve etki alanı yeteneklerinde herhangi bir bozulma olmadan, gelişmiş belirteç ve eğitim verimliliği avantajı sağladığı sonucuna vardık.


Genel Veri Kümeleri Karışımı: Bölüm II-A'da tanıtıldığı gibi, temel modeli ön eğitimi için yaygın olarak kullanılan genel veri kümelerinden örneklenen genel verileri DAPT'ye dahil ettik. Öncelikle Wikipedia gibi kamuya açık verilerin DAPT'de karıştırılmasının, tokenizer artırmanın getirdiği rahatsızlıkların "düzeltilmesine" ve genel doğal dil yeteneklerinin geliştirilmesine yardımcı olabileceğini umduk.


Şekil 11: Orijinal LLaMA2 Tokenizer ile Düzeltilmiş Eğitim Kaybı.


Şekil 12: Daha Yüksek Öğrenme Oranıyla Düzeltilmiş Eğitim Kaybı. Karşılaştırma amacıyla önerilen hiperparametrelerin kayıp eğrilerini dahil ediyoruz.


modellerin. Yalnızca etki alanı verilerini kullanarak tokenizer artırmayla başka bir DAPT turu gerçekleştirdik ve kabaca verinin 1,1 dönemine karşılık gelen aynı sayıda adım için eğitim verdik. Herkese açık veri karışımının sonuçları biraz iyileştirdiğini gördük. Ayrıntılı sonuçları Tablo X'te sunuyoruz.



Şekil 12, halka açık veri seti karışımı da dahil olmak üzere artırılmış tokenizatörlerle ChipNeMo-7B'nin eğitim kaybını göstermektedir. İlk eğitim adımlarında eğitim kaybında büyük artışlar gözlemledik ve 7B modelleri için son eğitim kaybının 13B orijinal DAPT hiperparametrelerinden bile daha iyi olduğunu gördük. Ancak, alan içi çip tasarımı da dahil olmak üzere Tablo XII'de gösterildiği gibi doğal dil kıyaslamalarında önemli bir bozulma olduğunu görüyoruz. Kodlama yetenekleri [32]'nin bulgularıyla tutarlı olarak gelişti.


Bizim durumumuzun [32]’deki durumdan farklı olduğunu vurguluyoruz. Her ne kadar önceden eğitilmiş kontrol noktalarından başlatmayı "sürekli ön eğitim" olarak yürütüyor olsak da, tercihen modelin genel yetenekler üzerinde yüksek düzeyde performans sürdürmesini istiyoruz.


TABLO VII: Otomatik Değerlendirme Sonuçları. Tescilli değerlendirme yöntemlerini kullanarak LLaMA2 için akademik kıyaslama sonuçlarını rapor ediyoruz. ChipNeMo modelleri tokenizer artırmayla eğitildi.


TABLO VIII: Kodlama Değerlendirme Sonuçları. Açgözlü kod çözme ile geçiş oranı gösteriliyor. Tescilli değerlendirme yöntemlerini kullanarak LLaMA2 sonuçlarını rapor ediyoruz. ChipNeMo modelleri tokenizer artırmayla eğitildi.


TABLO IX: Farklı Tokenizerlere Sahip ChipNeMo Modellerine İlişkin Değerlendirme Sonuçları. Ağustos, artırılmış tokenizer ve Ori'yi gösterir. LLaMA2 orijinal tokenizer'ın kullanıldığını belirtin. DAPT olmadan artırılmış tokenizer'ın kullanılması, Bölüm III-A'daki gibi modelin başlatılmasına karşılık gelir.


Etki alanı veri kümesi bilgilerinin ve bilgilerinin (model ön eğitiminde görülmeyen) model ağırlıklarına ayrıştırılması. Buna karşılık, [32], ağırlıklı olarak doğal dil öğelerinden yoksun olan, kamuya açık kod verilerini kullanıyor ve bunların öncelikli olarak kodlamayla ilgili görevlere odaklandığını vurguluyor. Daha küçük bir öğrenme oranının, etki alanı uyarlaması için ikili bir rol oynadığını, temel modelden çok fazla sapmayan bir dengeyi korurken DAPT yoluyla alan bilgisinin damıtılmasını kolaylaştırdığını, böylece genel doğal dil yeteneklerini korurken performansı önemli ölçüde artırdığını varsayıyoruz. -etki alanı görevleri


Parametre Verimli İnce Ayar (PEFT): Parametre verimli ince ayar, önceden eğitilmiş model ağırlıklarını dondurur ve aşağı akış görevlerinde verimli ince ayar yapmak için daha küçük adaptör modellerine eğitilebilir parametreler enjekte eder. Düşük Sıralı Uyarlama (LoRA) [16] kullanarak DAPT'de PEFT'nin kullanımını araştırıyoruz. Transformatör katmanı uygulamamız KQV'yi tek bir projeksiyonda birleştirdiğinden, her kişisel dikkat katmanı için tek bir Düşük Sıralı projeksiyon için LoRA adaptörlerini birleştirilmiş şekilde ekliyoruz. Tablo VI'daki aynı DAPT eğitim kurulumlarını kullanarak orijinal LLaMA2 tokenizer ile LLaMA2-13B modelleri üzerinde deneyler yapıyoruz. Sırasıyla 26,4 milyon (küçük) ve 211,2 milyon (büyük) ek eğitilebilir parametreler içeren iki deney gerçekleştirdik.


Şekil 13, LoRA modellerinin eğitim kaybı eğrilerini gösterir ve tam parametreli eğitimle karşılaştırır. Her iki LoRA modelinde de kayıp hızla birbirine yaklaşır ve belirli bir noktadan sonra azalma durur. Tablo XIII, LoRA modellerine ilişkin değerlendirme sonuçlarını rapor etmektedir. Her iki LoRA modeli de alan içi çip tasarımı görevlerinde tam parametre eğitimini önemli ölçüde düşük performans gösteriyor. LoRA modelleri, DAPT olmayan muadillerine kıyasla çip tasarımı görevlerinde gelişme gösterirken, daha büyük model biraz daha iyi (ancak anlamlı olmayan) sonuçlar sergiliyor.


TABLO X: ChipNeMo-13B ile Genel Veri Seti Karışımının Ablasyonu. Kamuya açık verilerin karıştırılması sonuçları biraz iyileştiriyor.


TABLO XI: Daha Yüksek Öğrenme Oranına Sahip Eğitim Hiperparametreleri. Biz [32]'dekine benzer parametreyi benimsiyoruz.

C. Geri Alma Modeli Eğitimi

Eğitim örneklerinin manuel olarak oluşturulması çok çaba gerektirir, bu nedenle bunları otomatik olarak oluşturacak bir süreç uygulamayı seçtik. Modelimize ince ayar yapmak için karşılaştırmalı öğrenmeyi kullandığımızdan, her örnek, doğruluğu en üst düzeye çıkarmak için hem pozitif pasajlar hem de negatif pasajlardan oluşan bir sete, özellikle de zor negatiflere ihtiyaç duyar.


1) Veri Seti Örnekleme Prosedürü: Şekil 14'te bir örnek oluşturmak için atılan adımlar açıklanmaktadır:


• 1. Adım: Belge külliyatından rastgele bir pasaj seçin


• Adım 2: Parçadan geçerli bir sorgu oluşturmak için bir dil modeli (Vicuna) kullanın


• 3. Adım: Her pasajın potansiyel kesin-negatif olduğu sorgu için belge derleminden ilk N pasajı almak üzere önceden var olan bir alma modeli (cümle dönüştürücü) kullanın.


• 4. Adım: Getirilen pasajlardan bazılarının gerçekten olumlu olması mümkündür; bu nedenle, pozitif pasajları filtrelemek için aynı dil modelini kullanın


• Adım 5: Bu filtreleme işleminden sonra yeterli sayıda negatif pasaj yoksa, derlemden rastgele pasajlarla destekleyin


TABLO XII: ChipNeMo-7B ile Öğrenme Oranında Ablasyon. Daha yüksek bir öğrenme oranı, dille ilgili tüm görevlerdeki performansı önemli ölçüde azaltır ancak kodlamayı biraz geliştirir.


Şekil 13: LoRA'nın Düzeltilmiş Eğitim Kaybı [16]. 13B tam DAPT parametresine karşılık gelir.


İlk araştırmamız için Vicuna [4] ve Cümle Transformer'ını [33] kullandık; ancak ticari olarak uygun bir geri alma modeli üretmek için sırasıyla LLaMA2 [5] ve BM25 [42] ile kolaylıkla değiştirilebilirler.


2) Vuruş Kalitesi Karşılaştırması: Tüm vuruşlar eşit yaratılmamıştır. Aşağıdaki Spec örneğindeki pasaj, sorusunu açıkça ve tamamen yanıtlıyor. Derleme örneğindeki pasaj cevabı içerir; ancak soruyu yanıtlamak için daha fazla bağlam gereklidir.


Spesifikasyon Örneği: İsabet pasajı sorguyu açıkça yanıtlar.



Yapı Örneği: Sorguyu tam olarak yanıtlamak için ek bilgiler gereklidir. Mesela: DL nedir? Arch-Build-Hotseat-XXX'in DL olduğunu nasıl bileceğiz?


TABLO XIII: LoRA Modellerine İlişkin Değerlendirme Sonuçları. İlk sütun eğitilebilir parametrelerin sayısını gösterir. Hiçbiri, DAPT'siz LLaMA2-13B modelini belirtir. 13B tam parametre eğitimini gösterir.


Şekil 14: Geri Alma Modeli Eğitimi İçin Örnek Oluşturma



D. Ek Değerlendirme Verileri


Tablo XIV, mühendislik asistanı chatbot uygulamasındaki tüm modellere ilişkin değerlendirme verilerini göstermektedir.


Tablo XV, EDA komut dosyası oluşturma görevindeki tüm modeller için değerlendirme sonuçlarımızı gösterir.


Tablo XVI, hata özetleme ve analiz görevindeki tüm modellere yönelik değerlendirme sonuçlarımızı göstermektedir.


TABLO XIV: Mühendislik Asistanı Chatbot İnsan Değerlendirmesi


TABLO XV: EDA Komut Dosyası Oluşturma Değerlendirmesi. Otomatik Değerlendirme için puanlanmış ikili ve İnsan Değerlendirmesi için %0-100.


TABLO XVI: Hata Özetleme ve Analiz Değerlendirmesi. Likert ölçeği 1-7.

E. Örnekler

1) Mühendislik Asistanı Chatbotu:





2) EDA Komut Dosyası Oluşturma: Bazı işlev adları ve komutları gizlenmiştir.




3) Hata Özeti ve Analizi: Kullanıcı adları, çip adları ve yollar gizlenmiştir.