Zephyrnet Logosu

OpenAI Modellerine Açık Kaynak Alternatiflerini Keşfetmek

Tarih:

Giriş

Kasım ayı yapay zeka alanında dramatik geçti. GPT mağazalarının (GPT-4-turbo) piyasaya sürülmesinden OpenAI fiyaskosuna kadar epey bir yolculuk oldu. Ancak bu önemli bir soruyu akla getiriyor: Kapalı modeller ve bunların arkasındaki insanlar ne kadar güvenilir? Üretimde kullandığınız modelin şirket içi bir dram nedeniyle devre dışı kalması hoş bir deneyim olmayacaktır. Açık kaynaklı modellerde bu sorun yoktur. Dağıttığınız modeller üzerinde tam kontrole sahipsiniz. Verileriniz ve modelleriniz üzerinde egemenlik sizdedir. Ancak bir işletim sistemi modelini GPT'lerle değiştirmek mümkün müdür? Neyse ki birçok açık kaynaklı model halihazırda GPT-3.5 modelleriyle aynı seviyede veya onlardan daha iyi performans gösteriyor. Bu makale, açık kaynaklı LLM'ler ve LMM'ler için en iyi performans gösteren alternatiflerden bazılarını inceleyecektir.

Öğrenme hedefleri

  • Açık kaynaklı Büyük dil modelleri hakkında tartışın.
  • En son teknolojiye sahip açık kaynaklı dil modellerini ve çok modlu modelleri keşfedin.
  • Büyük dil modellerini nicelemeye yönelik hafif bir giriş.
  • Yüksek Lisans'ları yerel olarak ve bulutta çalıştırmaya yönelik araçlar ve hizmetler hakkında bilgi edinin.

Bu makale, Veri Bilimi Blogathon.

İçindekiler

Açık Kaynak Modeli Nedir?

Modelin ağırlıkları ve mimarisi serbestçe mevcut olduğunda, modele açık kaynak adı verilir. Bu ağırlıklar, büyük bir dil modelinin önceden eğitilmiş parametreleridir; örneğin, Meta'nın Laması. Bunlar genellikle temel modeller veya herhangi bir ince ayar yapılmayan vanilya modelleridir. Herkes modelleri kullanabilir ve aşağı yönde eylemler gerçekleştirmek için özel veriler üzerinde ince ayar yapabilir.

Ama açık mı? Peki ya veriler? Çoğu araştırma laboratuvarı, telif hakkıyla korunan içerik ve veri hassasiyetiyle ilgili birçok endişe nedeniyle temel modellerin eğitimine giden verileri yayınlamıyor. Bu aynı zamanda bizi modellerin lisanslama kısmına da getiriyor. Her açık kaynaklı model, diğer açık kaynaklı yazılımlara benzer bir lisansla birlikte gelir. Llama-1 gibi birçok temel model, ticari olmayan lisanslamayla geldi; bu, bu modelleri para kazanmak için kullanamayacağınız anlamına geliyor. Ancak Mistral7B ve Zephyr7B gibi modeller Apche-2.0 ve MIT lisanslarıyla birlikte geliyor ve bunlar her yerde endişe duymadan kullanılabiliyor.

Açık Kaynak Alternatifleri

Llama'nın piyasaya sürülmesinden bu yana, OpenAI modellerine yetişmek için açık kaynak alanında bir silahlanma yarışı yaşandı. Ve sonuçlar şu ana kadar cesaret vericiydi. Bir yıl içinde GPT-3.5, daha az parametreyle GPT-3.5 ile aynı veya daha iyi performans gösteren modellerimiz var. Ancak GPT 4 akıl yürütme ve matematikten kod oluşturmaya kadar genel görevleri gerçekleştirmek için hala en iyi modeldir. Açık kaynak modellerindeki inovasyon ve finansman hızına daha fazla baktığımızda, yakında GPT-4'ün performansına yakın modellerimiz olacak. Şimdilik bu modellere bazı harika açık kaynak alternatiflerini tartışalım.

Meta'nın Laması 2

Meta en iyi modelini yayınladı Lama-2, bu yılın temmuz ayında, etkileyici yetenekleri sayesinde anında popüler oldu. Meta, farklı parametre boyutlarına sahip dört Llama-2 modelini yayınladı. Lama-7b, 13b, 34b ve 70b. Modeller kendi kategorilerindeki diğer açık modelleri yenecek kadar iyiydi. Ancak artık mistral-7b ve Zephyr-7b gibi birden fazla model, birçok kıyaslamada daha küçük Lama modellerinden daha iyi performans gösteriyor. Llama-2 70b hala kategorisinin en iyilerinden biridir ve özetleme, makine çevirisi vb. görevler için GPT-4 alternatifine layıktır.

Çeşitli kıyaslamalarda Llama-2, GPT-3.5'ten daha iyi performans gösterdi ve GPT-4'e yaklaşmayı başardı; bu da onu GPT-3.5'in ve bazı durumlarda GPT-4'ün değerli bir alternatifi haline getirdi. Aşağıdaki grafik, Llama ve GPT modellerinin performans karşılaştırmasını göstermektedir. herhangi bir ölçekte.

Llama ve GPT modellerinin performans karşılaştırması | Açık Kaynak Alternatifleri

Llama-2 hakkında daha fazla bilgi için buna bakın blog HuggingFace'te. Bu LLM'lerin, özel veri kümeleri üzerinde ince ayar yapıldığında iyi performans gösterdiği gösterilmiştir. Belirli görevlerde daha iyi performans gösterecek şekilde modellerde ince ayar yapabiliriz.

Farklı araştırma laboratuvarları da Llama-2'nin ince ayarlı versiyonlarını yayınladı. Bu modeller birçok kıyaslamada orijinal modellerden daha iyi sonuçlar vermiştir. Bu ince ayarlı Llama-2 modeli, Nous-Hermes-Llama2-70b Nous Research'ten 300,000'den fazla özel talimata göre ince ayarlar yapılmıştır, bu da onu orijinalinden daha iyi hale getirir meta-llama/Llama-2-70b-sohbet-hf.

HuggingFace'e göz atın Liderler Sıralaması. Orijinal modellerden daha iyi sonuçlar veren ince ayarlı Llama-2 modellerini bulabilirsiniz. Bu, işletim sistemi modellerinin artılarından biridir. İhtiyaçlara göre seçilebilecek çok sayıda model var.

Mistral-7B

Mistral-7B piyasaya sürülmesinden bu yana açık kaynak topluluğunun gözdesi haline geldi. Kategorideki tüm modellerden çok daha iyi performans gösterdiği ve GPT-3.5'in yeteneklerine yaklaştığı gösterilmiştir. Bu model, özetleme, başka kelimelerle ifade etme, sınıflandırma vb. birçok durumda Gpt-3.5'in yerine geçebilir.

Az sayıda model parametresi, yerel olarak çalıştırılabilen veya daha büyük modellere göre daha ucuz ücretlerle barındırılabilen daha küçük bir model sağlar. İşte orijinal HuggingFace alanı Mistral-7b. Harika bir sanatçı olmasının yanı sıra Mistral-7b'yi öne çıkaran şeylerden biri de sansürsüz, ham bir model olmasıdır. Çoğu model ağır silahlarla lobotomize edilir RLHF lansmandan önce onları birçok görev için istenmeyen hale getiriyor. Ancak bu, Mistral-7B'yi gerçek dünyadaki konuya özgü görevleri yapmak için tercih edilir hale getiriyor.

Canlı açık kaynak topluluğu sayesinde, orijinal Mistral7b modellerinden daha iyi performansa sahip çok sayıda ince ayarlı alternatif mevcuttur.

OpenHermes-2.5

OpenHermes-2.5 Mistral'ın ince ayarlı bir modelidir. Değerlendirme metriklerinde (GPT4ALL, TruthfullQA, AgiEval, BigBench) dikkate değer sonuçlar gösterdi. Birçok görev için bu, GPT-3.5'ten ayırt edilemez. OpenHermes hakkında daha fazla bilgi için şu HF deposuna bakın: teknium/OpenHermes-2.5-Mistral-7B.

OpenHermes-2.5 | Açık Kaynak Alternatifleri

Zephyr-7b

Zephyr-7b, HuggingFace tarafından Mistral-7b'nin ince ayarlı bir başka modelidir. Huggingface, DPO'yu (Doğrudan Tercih Optimizasyonu) kullanarak Mistral-7b'ye tamamen ince ayar yaptı. Zephyr-7b-beta, yazma, beşeri bilimler konuları ve rol yapma gibi birçok görevde GPT-3.5 ve Llama-2-70b gibi daha büyük modellerle aynı performansı gösteriyor. Aşağıda Zephyr-7b ile MTbench'teki diğer modeller arasındaki karşılaştırma yer almaktadır. Bu, birçok açıdan GPT-3.5'in iyi bir alternatifi olabilir.

Diğer LLM'lerle birlikte Zephyr örneklerini kullanın | Açık Kaynak Alternatifleri

İşte resmi HuggingFace deposu: HuggingFaceH4/zephyr-7b-beta.

Intel Sinirsel Sohbet

Nöral sohbet bir 7B'dir Yüksek Lisans model Intel tarafından Mistral-7B'den ince ayarlanmıştır. Tüm 7B modelleri arasında Huggingface sıralamasında zirveye yerleşerek olağanüstü bir performans gösterdi. NeuralChat-7b, yapay zeka görevlerini daha hızlı hale getirmeye yönelik bir Intel çipi olan Gaudi-2 üzerinde ince ayar yapılmış ve eğitilmiştir. NeuralChat'in mükemmel performansı, denetimli ince ayarın ve Orca ve slim-orca veri kümelerine göre Doğrudan optimizasyon tercihinin (DPO) bir sonucudur.

İşte NeuralChat'in HuggingFace deposu: Intel/nöral-sohbet-7b-v3-1.

Açık Kaynaklı Büyük Çok Modlu Modeller

GPT-4 Vision'ın piyasaya sürülmesinden sonra ilgi arttı. çok modlu modeller. Vizyonlu Büyük Dil Modelleri, resimler üzerinde soru cevaplama ve video anlatımları gibi birçok gerçek dünya kullanım durumunda harika olabilir. Böyle bir kullanım durumunda, Tldraw bir yayınladı Yapay zeka beyaz tahta Bu, GPT-4V'nin görüntüleri kodlara dönüştürme konusundaki inanılmaz yeteneğini kullanarak beyaz tahtadaki çizimlerden web bileşenleri oluşturmanıza olanak tanır.

Ancak açık kaynak bu noktaya daha hızlı ulaşıyor. Birçok araştırma laboratuvarı, Llava, Baklava, Fuyu-8b vb. gibi büyük çok modlu modeller yayınladı.

lav

Llava (Büyük Dil ve Görme Asistanı), 13 milyar parametreye sahip çok modlu bir modeldir. Llava, Vicuna-13b LLM ile önceden eğitilmiş bir görsel kodlayıcıyı birbirine bağlıyor KLİP ViT-L/14. Birçok durumda GPT-4V'ye benzer bir performans elde etmek için Görsel Sohbet ve Bilim QA veri kümesi üzerinde ince ayarlar yapılmıştır. Bu, görsel QA görevlerinde kullanılabilir.

BakLlava

SkunkWorksAI'den BakLlava başka bir büyük çok modlu modeldir. Llava-7 mimarisiyle güçlendirilmiş temel LLM olarak Mistral-1.5b'ye sahiptir. Daha küçük olmasına rağmen Llava-13b ile aynı seviyede umut verici sonuçlar verdi. İyi görsel çıkarımlara sahip daha küçük bir modele ihtiyaç duyduğunuzda arayacağınız model budur.

Fuyu-8b

Bir diğer açık kaynak alternatifi ise Fuyu-8b'dir. Adept'in yetenekli, çok modlu bir dil modelidir. Fuyu, görsel kodlayıcısı olmayan, yalnızca kod çözücüye yönelik bir transformatördür; bu, CLIP'in kullanıldığı Llava'dan farklıdır.

LLM'yi görüntü verileriyle beslemek için bir görüntü kodlayıcı kullanan diğer çok modlu modellerden farklı olarak, görüntü parçalarını transformatörün ilk katmanına doğrusal olarak yansıtır. Transformatör kod çözücüyü bir görüntü transformatörü olarak ele alır. Aşağıda Fuyu mimarisinin bir örneği bulunmaktadır.

Fuyu-8b | Açık Kaynak Alternatifleri

Fuyu-8b hakkında daha fazla bilgi için buna bakın göre. HuggingFace Deposu usta / fuyu-8b

Açık LLM'ler Nasıl Kullanılır?

Artık en iyi performans gösteren açık kaynaklı LLM'ler ve LMM'lerden bazılarına aşina olduğumuza göre, soru açık bir modelden nasıl çıkarımlar elde edileceğidir. Açık kaynak modellerden çıkarım yapabilmemizin iki yolu vardır. Modelleri ya kişisel donanıma indiriyoruz ya da bir bulut sağlayıcısına abone oluyoruz. Bu sizin kullanım durumunuza bağlıdır. Bu modeller, en küçükleri bile, yoğun bilgi işlem gerektirir ve yüksek RAM ve VRAM gerektirir. Bu vanilya modellerini ticari donanımlardan çıkarmak çok zordur. Bu işi kolaylaştırmak için modellerin nicemlenmesi gerekiyor. Öyleyse model nicemlemenin ne olduğunu anlayalım.

niceleme

Niceleme, kayan noktalı tamsayıların kesinliğini azaltma tekniğidir. Genellikle laboratuvarlar, en son teknoloji (SOTA) performansına ulaşmak için daha yüksek kayan nokta hassasiyetine sahip ağırlıklara ve aktivasyonlara sahip modeller yayınlar. Bu, modellerin bilgi işlem kapasitesini aç hale getiriyor ve yerel olarak çalıştırma veya bulutta barındırma açısından ideal olmaktan çıkıyor. Bunun çözümü ağırlıkların ve gömmelerin hassasiyetini azaltmaktır. Buna kuantizasyon denir.

SOTA modelleri genellikle float32 hassasiyetine sahiptir. Kuantizasyonda fp32 -> fp16, fp-32-> int8, fp32->fp8 ve fp32->fp4 gibi farklı durumlar vardır. Bu bölümde yalnızca int8'e veya 8 bitlik tamsayı nicemlemeye yönelik nicemleme tartışılacaktır.

int8'e niceleme

İnt8 temsili yalnızca 256 karakter barındırabilir (imzalı [-128,127], işaretsiz [0, 256]), fp32 ise geniş bir sayı aralığına sahip olabilir. Buradaki fikir, [a,b]'deki fp32 değerlerinin int8 formatına eşdeğer projeksiyonunu bulmaktır.

X, [a,b,] aralığında bir FP32 numarası ise, o zaman niceleme şeması şu şekildedir:

X = S*(X_q – z)

  • X_q = X ile ilişkili nicelenmiş değer
  • S ölçeklendirme parametresidir. Pozitif bir FP32 numarası.
  • z sıfır noktasıdır. Fp8'deki 0 değerine karşılık gelen int32 değeridir.

Dolayısıyla X_q = round(X/S + z) ∀X ∈ [a,b]

Fp3,2 için, [a,b] dışındaki değerler en yakın temsile kırpılır

X_q = klip( X_q = yuvarlak(a/S + z) + yuvarlak(X/S + z) + X_q = yuvarlak(b/S + z)) )

  • Söz konusu sayı formatında yuvarlak(a/S + z) en küçük sayı, yuvarlak(b/S + z) ise en büyük sayıdır.

Bu denklem afin veya sıfır noktalı nicemleme. Bu yaklaşık 8 bitlik tamsayı nicemlemesiydi; ayrıca 8 bitlik fp8, 4 bitlik (fp4, nf4) ve 2 bitlik (fp2) niceleme şemaları da vardır. Kuantizasyon hakkında daha fazla bilgi için şu makaleye bakın: SarılmakYüz.

Model nicemleme karmaşık bir iştir. LLM'leri ölçmek için birden fazla açık kaynaklı araç vardır, örneğin Lama.cpp, AutoGPTQ, llm-awqlama cpp, GGUF kullanarak modelleri, GPTQ kullanarak AutoGPTQ'yu ve AWQ formatını kullanarak llm-awq'yi kullanarak modelleri niceler. Bunlar model boyutunu küçültmeye yönelik farklı niceleme yöntemleridir.

Dolayısıyla, çıkarım yapmak için açık kaynaklı bir model kullanmak istiyorsanız, nicelenmiş bir model kullanmak mantıklı olacaktır. Bununla birlikte, bir miktar çıkarım kalitesini, bir servete mal olmayan daha küçük bir modelle değiştireceksiniz.

Nicelenmiş modeller için bu HuggingFace deposuna göz atın: https://huggingface.co/TheBloke

Modelleri Yerel Olarak Çalıştırma

Çoğu zaman çeşitli ihtiyaçlar için modelleri yerel olarak çalıştırmamız gerekebilir. Modelleri yerel olarak çalıştırırken çok fazla özgürlük vardır. İster gizli belgeler için ister deneme amacıyla özel bir çözüm oluştururken, yerel LLM'ler kapalı kaynak modellere göre çok daha fazla özgürlük ve gönül rahatlığı sağlar.

Modelleri yerel olarak çalıştırmak için birden fazla araç vardır. En popülerleri vLLM, Ollama ve LMstudio'dur.

VLLM

The vLLM ile yazılmış açık kaynaklı bir alternatif yazılımdır. Python bu, LLM'leri yerel olarak çalıştırmanıza olanak tanır. Modelleri vLLM'de çalıştırmak, genellikle yediden fazla vRAM hesaplama kapasitesi ve 16 GB'nin üzerinde RAM ile belirli donanım özelliklerini gerektirir. Test için bir Collab'da çalışabilmeniz gerekir. VLLM şu anda AWQ niceleme formatını desteklemektedir. Bunlar kullanabileceğiniz modellerdir vLLM. Ve bu şekilde bir modeli yerel olarak çalıştırabiliriz.

from vllm import LLM, SamplingParams

prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

llm = LLM(model="mistralai/Mistral-7B-v0.1")

outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

vLLM ayrıca OpenAI uç noktalarını da destekler. Dolayısıyla modeli mevcut OpenAI uygulamasının yerine geçecek bir model olarak kullanabilirsiniz.

import openai
# Modify OpenAI's API key and API base to use vLLM's API server.
openai.api_key = "EMPTY"
openai.api_base = "http://localhost:8000/v1"
completion = openai.Completion.create(model="mistralai/Mistral-7B-v0.1",
                                      prompt="San Francisco is a")
print("Completion result:", completion)

Burada OpenAI SDK kullanarak yerel modelden çıkarım yapacağız.

Ollama

Ollama, Go'daki açık kaynaklı modelleri yerel donanım üzerinde çalıştırmamıza olanak tanıyan başka bir açık kaynaklı alternatif CLI aracıdır. Ollama, GGUF nicemlenmiş modelleri destekler.

Dizininizde bir Model dosyası oluşturun ve çalıştırın

FROM ./mistral-7b-v0.1.Q4_0.gguf

Model dosyasından bir Ollama modeli oluşturun.

ollama create example -f Modelfile

Şimdi modelinizi çalıştırın.

ollama run example "How to kill a Python process?"

Ollama ayrıca Pytorch ve HuggingFace modellerini çalıştırmanıza da olanak tanır. Daha fazla bilgi için bkz. resmi depo.

LMstudio

LMstudio, PC'nizdeki herhangi bir modeli rahatlıkla çalıştırmanıza olanak tanıyan kapalı kaynaklı bir yazılımdır. Çalışan modeller için özel bir yazılım istiyorsanız bu idealdir. Yerel modelleri kullanmak için hoş bir kullanıcı arayüzü var. Bu, Mac'lerde (M1, M2), Linux'ta (beta) ve Windows'ta mevcuttur.

Ayrıca GGUF formatlı modelleri de destekler. Şunlara göz atın: resmi sayfası daha fazlası için. Donanım özelliklerinizi desteklediğinden emin olun.

Bulut Sağlayıcılarının Modelleri

Modelleri yerel olarak çalıştırmak, denemeler ve özel kullanım durumları için harikadır ancak bunları uygulamalarda kullanmak, modellerin bulutta barındırılmasını gerektirir. Modelinizi, aşağıdakiler gibi özel LLM model sağlayıcıları aracılığıyla bulutta barındırabilirsiniz: Tekrarlamak ve Brev Dev. Modelleri barındırabilir, ince ayar yapabilir ve modellerden çıkarımlar alabilirsiniz. LLM'leri barındırmak için esnek ölçeklenebilir hizmet sağlarlar. Kaynak tahsisi, modelinizdeki trafiğe göre değişecektir.

Sonuç

Açık kaynaklı model geliştirme, baş döndürücü bir hızla gerçekleşiyor. Bir yıl içinde ChatGPT, birçok kıyaslamada rekabet edebilecek çok daha küçük modellerimiz var. Bu sadece başlangıç ​​ve GPT-4 ile aynı seviyede bir model yakında çıkacak olabilir. Son zamanlarda kapalı kaynak modellerinin ardındaki kuruluşların bütünlüğüne ilişkin sorular gündeme geliyor. Bir geliştirici olarak modelinizin ve onun üzerine inşa edilen hizmetlerinizin tehlikeye atılmasını istemezsiniz. Açık kaynak bunu çözüyor. Modelinizi biliyorsunuz ve modelin sahibi sizsiniz. Açık kaynaklı modeller çok fazla özgürlük sağlar. Maliyeti ve bağımlılığı azaltmak için OS ve OpenAI modelleri ile hibrit bir yapıya da sahip olabilirsiniz. Dolayısıyla bu makale, bazı harika performans gösteren işletim sistemi modellerine ve bunları çalıştırmayla ilgili kavramlara giriş hakkındaydı.

Yani, işte temel çıkarımlar:

  • Açık modeller egemenlikle eş anlamlıdır. Açık kaynaklı modeller, kapalı modellerin sağlayamadığı çok ihtiyaç duyulan güven faktörünü sağlar.
  • Llama-2 ve Mistral gibi büyük dil modelleri ve bunların ince ayarları birçok görevde GPT-3.5'i geride bırakarak onları ideal alternatifler haline getiriyor.
  • Llava, BakLlava ve Fuyu-8b gibi büyük Çok modlu modellerin birçok QA ve sınıflandırma görevinde faydalı olma sözü verdiği görülmüştür.
  • LLM'ler büyüktür ve yoğun bilgi işlem gerektirir. Bu nedenle, bunları yerel olarak çalıştırmak nicelemeyi gerektirir.
  • Niceleme, ağırlıkları ve aktivasyon değişkenlerini daha küçük bitlere dökerek model boyutunu küçültmeye yönelik bir tekniktir.
  • İşletim sistemi modellerinden yerel olarak barındırma ve çıkarım yapmak, LMstudio, Ollama ve vLLM gibi araçları gerektirir. Bulutta dağıtım yapmak için Replicate ve Brev gibi hizmetleri kullanın.

Sıkça Sorulan Sorular

S1. ChatGPT'ye açık kaynaklı bir alternatif var mı?

C. Evet, ChatGPT'nin Llama-2 sohbeti, Mistral-7b, Vicuna-13b vb. gibi alternatifleri vardır.

Q2. Yüksek Lisansınızı yürütebilir misiniz?

C. LMstudio, Ollama ve vLLM gibi araçları kullanarak açık kaynaklı LLM'leri yerel makinede çalıştırmak mümkündür. Bu aynı zamanda yerel makinenin ne kadar yetenekli olduğuna da bağlıdır.

S3. Açık kaynaklı modeller ChatGPT'den daha mı iyi?

C. Açık kaynaklı modeller birçok görevde Gpt-3.5'ten daha iyi ve daha etkilidir, ancak GPT-4 hala mevcut en iyi modeldir.

S4. Açık kaynaklı modeller ChatGPT'den daha mı ucuz?

C. Kullanım durumuna bağlı olarak, açık kaynaklı modeller GPT modellerinden daha ucuz olabilir ancak belirli görevlerde daha iyi performans göstermeleri için ince ayar yapılması gerekir.

S5. Chatbot bir Yüksek Lisans mı?

Cevap. Chatbot'lar, sohbet benzeri konuşmalar için ince ayar yapılmış LLM'dir.

Bu makalede gösterilen medya Analytics Vidhya'ya ait değildir ve Yazarın takdirine bağlı olarak kullanılır. 

spot_img

En Son İstihbarat

spot_img