Kurs
SOLAR-10.7B projesi, büyük dil modellerinin geliştirilmesinde önemli bir sıçramayı temsil ederek bu modellerin etkili ve verimli bir şekilde ölçeklendirilmesine yönelik yeni bir yaklaşım sunuyor.
Bu makale, SOLAR-10.7B modelinin ne olduğunu açıklayarak başlıyor; ardından diğer büyük dil modellerine kıyasla performansını vurguluyor ve uzmanlaşmış ince ayarlı sürümünün kullanım sürecine dalıyor. Son olarak, okuyucu ince ayarlı SOLAR-10.7B-Instruct modelinin potansiyel uygulamalarını ve sınırlamalarını anlayacak.
SOLAR-10.7B nedir?
SOLAR-10.7B, Güney Kore'de Upstage AI ekibi tarafından geliştirilen 10,7 milyar parametreli bir modeldir.
Llama-2 mimarisine dayanan bu model, Mixtral 8X7B modeli de dahil olmak üzere 30 milyar parametreye kadar olan diğer büyük dil modellerini geride bırakıyor.
Llama-2 hakkında daha fazla bilgi edinmek için, LLaMA 2'yi İnce Ayarlama: Büyük Dil Modelini Özelleştirmeye Adım Adım Rehber başlıklı makalemiz, açık kaynak büyük dil modellerine daha iyi erişim için bellek ve hesaplama sınırlamalarını aşmaya yönelik yeni yaklaşımlar kullanarak Llama-2'yi ince ayarlamak üzere adım adım bir rehber sunar.
Ayrıca, SOLAR-10.7B'nin sağlam temelini esas alan SOLAR 10.7B-Instruct modeli, karmaşık talimatları izlemeye odaklanılarak ince ayarlanmıştır. Bu varyant, modelin uyarlanabilirliğini ve uzmanlaşmış hedeflere ulaşmada ince ayarın etkinliğini sergileyen gelişmiş performans gösterir.
Son olarak, SOLAR-10.7B Derinlik Büyütme (Depth Up-Scaling) adlı bir yöntem sunuyor; bunu bir sonraki bölümde daha ayrıntılı inceleyelim.
Derinlik Büyütme yöntemi
Bu yenilikçi yöntem, hesaplama kaynaklarında eşdeğer bir artış gerektirmeden modelin sinir ağının derinliğinin genişletilmesine olanak tanır. Böyle bir strateji modelin hem verimliliğini hem de genel performansını artırır.
Derinlik Büyütmenin temel unsurları
Derinlik Büyütme üç ana bileşene dayanır: (1) Mistral 7B ağırlıkları, (2) Llama 2 çerçevesi ve (3) Sürekli ön eğitim.

n = 32, s = 48 ve m = 8 için derinlik büyütme. Derinlik büyütme, derinliksel ölçekleme ve ardından devam eden ön eğitimden oluşan iki aşamalı bir süreçle elde edilir. (Kaynak)
Temel Model:
- Önceden eğitilmiş Mistral 7B ağırlıklarıyla başlatılan, özellikle Llama 2 modeli olmak üzere 32 katmanlı bir dönüştürücü mimarisi kullanır.
- Topluluk kaynaklarından yararlanmayı ve geliştirilmiş yetenekler için yeni değişiklikler getirmeyi amaçlayarak uyumluluğu ve performansı nedeniyle seçilmiştir.
- Verimli bir şekilde ölçeklemek için derinliksel ölçekleme ve devam eden ön eğitim için temel görevi görür.
Derinliksel Ölçekleme:
- Donanım yetenekleri göz önünde bulundurularak ölçekli model için hedef katman sayısı belirlenerek temel model ölçeklenir.
- Temel modelin kopyalanmasını, özgün modelden son m katmanın ve kopyadan ilk m katmanın kaldırılmasını, ardından bunların birleştirilerek s katmanlı bir model oluşturulmasını içerir.
- Bu süreç, özellikle n=32 taban katman kullanılarak ve m=8 katman çıkartılarak s=48 katmana ulaşmak suretiyle, 7 ile 13 milyar parametre arasında uyacak şekilde ayarlanmış katman sayısına sahip ölçekli bir model oluşturur.
Devam Eden Ön Eğitim:
- Derinliksel ölçekleme sonrasındaki ilk performans düşüşünü, ölçekli modeli eğitmeye devam ederek ele alır.
- Devam eden ön eğitim sırasında, modeldeki heterojenliğin ve tutarsızlıkların azaltılmasına atfedilen hızlı bir performans toparlanması gözlemlenmiştir.
- Devam eden ön eğitim, derinliksel ölçeklenmiş modelin mimarisinden yararlanarak temel modelin performansını geri kazanmak ve potansiyel olarak aşmak için kritik öneme sahiptir.
Bu özetler, mevcut modellerden yararlanmaya, derinlik ayarıyla ölçeklendirmeye ve devam eden ön eğitimle performansı artırmaya odaklanan Derinlik Büyütme yaklaşımının temel stratejilerini ve sonuçlarını vurgulamaktadır.
Bu çok yönlü yaklaşım sayesinde SOLAR-10.7B, birçok durumda çok daha büyük modellerin yeteneklerine ulaşır ve hatta onları aşar. Bu verimlilik, onu belirli uygulama alanları için birincil seçenek haline getirerek gücünü ve esnekliğini ortaya koyar.
SOLAR 10.7B Instruct Modeli Nasıl Çalışır?
SOLAR-10.7B Instruct, karmaşık talimatları yorumlama ve uygulamada üstündür; bu da insan komutlarını tam olarak anlama ve yanıtlamanın kritik olduğu senaryolarda son derece değerli kılar. Bu yetenek, daha sezgisel ve etkileşimli yapay zeka sistemleri geliştirmek için esastır.
- SOLAR 10.7B Instruct, özgün SOLAR 10.7B modelinin Soru-Cevap formatında talimatları izleyecek şekilde ince ayarlanmasının bir sonucudur.
- İnce ayar, modelin matematik becerilerini geliştirmek için büyük ölçüde açık kaynak veri kümelerinin yanı sıra sentezlenmiş matematik Soru-Cevap veri kümelerini kullanır.
- SOLAR 10.7B Instruct'ın ilk sürümü, etkili ve verimli bilgi işleme için öğrenme yeteneklerini güçlendirmek üzere Mistral 7B ağırlıklarının entegre edilmesiyle oluşturulmuştur.
- SOLAR 10.7B'nin belkemiği, hız ve doğruluğu harmanlayan Llama2 mimarisidir.
Genel olarak, ince ayarlı SOLAR-10.7B modelinin önemi, geliştirilmiş performansı, uyarlanabilirliği ve yaygın uygulama potansiyelinde yatmaktadır; bu da doğal dil işleme ve yapay zeka alanlarını ileriye taşımaktadır.
İnce Ayarlı SOLAR-10.7B Modelinin Olası Uygulamaları
Teknik uygulamaya dalmadan önce, ince ayarlı bir SOLAR-10.7B modelinin olası uygulamalarından bazılarını inceleyelim.
Aşağıda kişiselleştirilmiş eğitim ve öğretim, geliştirilmiş müşteri desteği ve otomatik içerik oluşturmanın bazı örnekleri yer almaktadır.
- Kişiselleştirilmiş eğitim ve öğretim: SOLAR-10.7B-Instruct, kişiselleştirilmiş öğrenme deneyimleri sunarak eğitim sektöründe devrim yaratabilir. Karmaşık öğrenci sorularını anlayarak kişiye özel açıklamalar, kaynaklar ve alıştırmalar sunabilir. Bu yetenek, bireysel öğrenme stillerine ve ihtiyaçlarına uyum sağlayan, öğrenci etkileşimini ve sonuçlarını iyileştiren akıllı öğretim sistemleri geliştirmek için onu ideal bir araç haline getirir.
- Daha iyi müşteri desteği: SOLAR-10.7B-Instruct, karmaşık müşteri sorularını yüksek doğrulukla anlayıp çözebilen gelişmiş sohbet botları ve sanal asistanları güçlendirebilir. Bu uygulama, zamanında ve ilgili destek sağlayarak müşteri deneyimini iyileştirmenin yanı sıra rutin soruları otomatikleştirerek insan müşteri hizmetleri temsilcilerinin iş yükünü de azaltır.
- Otomatik içerik oluşturma ve özetleme: Medya ve içerik üreticileri için SOLAR-10.7B-Instruct; haber makaleleri, raporlar ve yaratıcı yazılar gibi yazılı içeriğin üretimini otomatikleştirme olanağı sunar. Ek olarak, kapsamlı belgeleri kısa ve anlaşılır formatlarda özetleyebilir; bu da çok miktarda bilgiyi hızla özümseyip raporlaması gereken gazeteciler, araştırmacılar ve profesyoneller için onu vazgeçilmez kılar.
Bu örnekler, SOLAR-10.7B-Instruct'ın geniş bir yelpazedeki sektörlerde verimlilik, erişilebilirlik ve kullanıcı deneyimini etkileme ve iyileştirme konusundaki çok yönlülüğünü ve potansiyelini gözler önüne seriyor.
SOLAR -10.7B Instruct Kullanımı için Adım Adım Rehber
Artık SOLAR-10.7B modeli hakkında yeterli arka plana sahibiz; işe koyulmanın zamanı geldi.
Bu bölüm, upstage tarafından sunulan SOLAR 10.7 Instruct v1.0 - GGUF modelini çalıştırmak için tüm talimatları sağlamayı amaçlar.
Kodlar, Hugging Face'teki resmi belgelendirmeden esinlenilmiştir. Başlıca adımlar aşağıda tanımlanmıştır:
- Gerekli kütüphaneleri yükleyin ve içe aktarın
- Hugging Face'ten kullanılacak SOLAR-10.7B modelini tanımlayın
- Model çıkarımını çalıştırın
- Kullanıcının isteğinden sonucu üretin
Kütüphanelerin Kurulumu
Kullanılan ana kütüphaneler transformers ve accelerate'tir.
- transformers kütüphanesi, önceden eğitilmiş modellere erişim sağlar ve burada belirtilen sürüm 4.35.2'dir.
- accelerate kütüphanesi, donanımın ayrıntılarını derinlemesine anlamaya gerek kalmadan makine öğrenimi modellerini farklı donanımlarda (CPU, GPU) çalıştırmayı basitleştirmek için tasarlanmıştır.
%%bash
pip -q install transformers==4.35.2
pip -q install accelerate
Kütüphaneleri İçe Aktarma
Kurulum tamamlandığına göre, aşağıdaki gerekli kütüphaneleri içe aktararak devam ediyoruz:
- torch, bilgisayarla görme ve NLP gibi uygulamalarda kullanılan, popüler bir açık kaynak makine öğrenimi kütüphanesi olan PyTorch kütüphanesidir.
- AutoModelForCausalLM, nedensel dil modelleme için önceden eğitilmiş bir modeli yüklemek için kullanılır ve AutoTokenizer, metni modelin anlayabileceği bir formata dönüştürmekten (tokenleştirme) sorumludur.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
GPU Yapılandırması
Kullanılan model, Hugging Face'ten SOLAR-10.7B modelinin 1. sürümüdür.
Modelin yüklenmesini ve çıkarım sürecini hızlandırmak için bir GPU kaynağı gereklidir.
Google Colab üzerinde GPU erişimi aşağıdaki görselde gösterilmiştir:
- Runtime sekmesinden Change runtime'ı seçin
- Ardından, Hardware accelerator bölümünden T4 GPU'yu seçin ve değişiklikleri Save edin
Bu, varsayılan çalışma zamanını T4 olarak değiştirecektir:

Çalışma zamanının özelliklerini Colab not defterinden aşağıdaki komutu çalıştırarak kontrol edebiliriz.
!nvidia-smi

GPU özellikleri
Model tanımı
Her şey hazır; modeli şu şekilde yüklemeye devam edebiliriz:
model_ID = "Upstage/SOLAR-10.7B-Instruct-v1.0"
tokenizer = AutoTokenizer.from_pretrained(model_ID)
model = AutoModelForCausalLM.from_pretrained(
model_ID,
device_map="auto",
torch_dtype=torch.float16,
)
- model_ID, kullanmak istediğimiz önceden eğitilmiş modeli benzersiz şekilde tanımlayan bir dizedir. Bu durumda "Upstage/SOLAR-10.7B-Instruct-v1.0" belirtilmiştir.
- AutoTokenizer.from_pretrained(model_ID), belirtilen model_ID üzerinde önceden eğitilmiş bir belirteçleyiciyi (tokenizer) yükleyerek metin girişini işlemeye hazırlar.
- AutoModelForCausalLM.from_pretrained(), nedensel dil modelini yükler; device_map="auto" ile mevcut en iyi donanımı (kurduğumuz GPU) otomatik olarak kullanır ve torch_dtype=torch.float16 ile bellek tasarrufu ve potansiyel hız kazanımı için 16 bit kayan noktalı sayıları kullanır.
Model çıkarımı
Bir yanıt oluşturmadan önce, giriş metni (kullanıcının isteği) biçimlendirilir ve belirteçlere ayrılır.
- user_request, model için soruyu veya girişi içerir.
- conversation, girişi bir konuşmanın parçası olarak biçimlendirir ve bir rolle (ör. 'kullanıcı') etiketler.
- apply_chat_template, girdiye bir sohbet şablonu uygular ve modeli anlayacağı bir formata hazırlar.
- tokenizer(prompt, return_tensors="pt") istemi belirteçlere dönüştürür ve tensör türünü (PyTorch tensörleri için "pt") belirtir; .to(model.device) ise girdinin modelle aynı aygıt üzerinde (CPU veya GPU) olmasını sağlar.
user_request = "What is the square root of 24?"
conversation = [ {'role': 'user', 'content': user_request} ]
prompt = tokenizer.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
Sonuç üretimi
Son bölüm, modele giriş sorusuna yanıt üretmesi için başvurur; ardından üretilen metni çözümler ve yazdırır.
- model.generate(), sağlanan girdilere dayanarak metin üretir; use_cache=True, daha önce hesaplanan sonuçları yeniden kullanarak üretimi hızlandırır. max_length=4096, üretilen metnin azami uzunluğunu sınırlar.
- tokenizer.decode(outputs[0]), üretilen belirteçleri tekrar insan tarafından okunabilir metne dönüştürür.
- print ifadesi, kullanıcının sorusuna üretilen yanıtı görüntüler.
outputs = model.generate(**inputs, use_cache=True, max_length=4096)
output_text = tokenizer.decode(outputs[0])
print(output_text)
Yukarıdaki kodun başarıyla çalıştırılması aşağıdaki sonucu üretir:

Kullanıcı isteğini aşağıdaki metinle değiştirerek üretilen yanıtı elde ederiz
user_request = "Tell me a story about the universe"

SOLAR-10.7B modelinin sınırlamaları
SOLAR-10.7B'nin tüm faydalarına rağmen, diğer büyük dil modelleri gibi onun da kendi sınırlamaları vardır ve başlıcaları aşağıda vurgulanmıştır:
- Kapsamlı hiperparametre keşfi: Derinlik Büyütme (DUS) sırasında modelin hiperparametrelerinin daha kapsamlı biçimde araştırılmasına duyulan ihtiyaç önemli bir sınırlamadır. Bu durum, donanım sınırlamaları nedeniyle temel modelden 8 katmanın kaldırılmasına yol açmıştır.
- Hesaplama açısından talepkâr: model hesaplama kaynakları açısından önemli ölçüde talepkârdır ve bu da onu düşük hesaplama yeteneklerine sahip kişi ve kuruluşlar için sınırlı kılar.
- Önyargıya açıklık: eğitim verilerindeki olası önyargılar, modelin bazı kullanım durumlarındaki performansını etkileyebilir.
- Çevresel kaygı: modelin eğitimi ve çıkarımı önemli ölçüde enerji tüketimi gerektirir; bu da çevresel endişelere yol açabilir.
Sonuç
Bu makale, derinlik büyütme yaklaşımıyla yapay zekâya katkısını öne çıkararak SOLAR-10.7B modelini inceledi. Modelin çalışma prensibini ve potansiyel uygulamalarını özetledi ve kurulumu sonuç üretmeye kadar kullanımına yönelik pratik bir rehber sundu.
Modelin yeteneklerine rağmen, makale SOLAR-10.7B modelinin sınırlamalarını da ele alarak kullanıcılar için dengeli bir bakış açısı sağladı. Yapay zekâ gelişmeye devam ederken, SOLAR-10.7B daha erişilebilir ve çok yönlü yapay zekâ araçlarına doğru atılan adımları örneklemektedir.
Daha derinlemesine incelemek isteyenler için, FLAN-T5 Eğitimi: Rehber ve İnce Ayar başlıklı rehberimiz, transformers kütüphanesini kullanarak bir soru-cevap görevi için FLAN-T5 modelini ince ayarlamaya ve gerçek dünya senaryosunda optimize çıkarım çalıştırmaya yönelik eksiksiz bir rehber sunar. Ayrıca GPT-3.5'i İnce Ayarlama eğitimimizi ve kendi LlaMA 2 modelinizi ince ayarlama kod eşliğimizi de bulabilirsiniz.
Bilgisini paylaşmaktan ve başkalarına katkı sunmaktan keyif alan, çok yönlü bir veri bilimci olan Zoumana, YouTube’da içerik üretiyor ve Medium’da önde gelen teknoloji yazarları arasında yer alıyor. Konuşmaktan, kod yazmaktan ve öğretmekten büyük zevk alıyor. Zoumana’nın iki yüksek lisans derecesi bulunuyor: İlki Fransa, Paris’te Makine Öğrenmesi odaklı Bilgisayar Bilimleri; ikincisi ise ABD’de Texas Tech University’den Veri Bilimi. Kariyerine Fransa’da Groupe OPEN’da Yazılım Geliştirici olarak başladı; ardından IBM’de Makine Öğrenmesi Danışmanı olarak çalıştı ve sigorta şirketleri için uçtan uca yapay zeka çözümleri geliştirdi. Paris ve Montreal merkezli ilk Sürdürülebilir YZ girişimi olan Axionable’a katıldı. Burada Veri Bilimci olarak görev yaptı ve çoğunlukla NLP kullanım örnekleri olmak üzere, Fransa, Montreal, Singapur ve İsviçre’den müşteriler için YZ ürünleri hayata geçirdi. Ayrıca zamanının %5’ini Araştırma ve Geliştirme’ye ayırdı. Hâlihazırda IFC – Dünya Bankası Grubu’nda Kıdemli Veri Bilimci olarak çalışmaktadır.

