Chat Uygulamaları için LLaMA v2'ye Detaylı Bir Bakış

Sezer Ufuk Yavuz
4 min readJul 23, 2023

--

Düşünün, online sohbet uygulamalarında insan gibi yanıtlar üretmenin karmaşıklıkları. Altyapıyı nasıl verimli yapabilir ve yanıtları gerçekçi hale getirebilirsiniz? Çözüm, AI dil modelleridir. Bu rehberde, sohbet uygulamaları için özellikle ince ayarlanmış 13 milyar parametreli bir dil modeli olan Meta’nın yeni llama13b-v2-chat LLM’sinin a16z-infra’nın uygulamasına dalıyoruz. Bu model, Replicate’de barındırılıyor, bir AI model barındırma hizmeti olan Replicate, karmaşık ve güçlü modellerle sadece birkaç satır kod veya basit bir API çağrısı ile etkileşim kurmanızı sağlar.

Bu rehberde, llama13b-v2-chat modelinin ne olduğunu, girişleri ve çıktıları hakkında nasıl düşüneceğinizi ve onu nasıl kullanarak sohbet tamamlamaları oluşturacağınızı kapsayacağız. AI uygulamalarınızı geliştirmek için benzer modelleri nasıl bulacağınızı da göstereceğiz AIModels.fyi kullanarak. O zaman, AI jargonunu kesip çekirdeğe geçelim.

LLaMA-v2 sohbet modeli hakkında

Replicate’de bulunan LLaMA13b-v2-sohbet modeli, a16z-infra ekibi tarafından oluşturulmuştur ve Meta’nın yeni LLaMA v2 modeli üzerine inşa edilmiştir. Meta, insan dilini daha iyi anlamak ve oluşturmak amacıyla LLaMA’yı yarattı ve inceleyeceğimiz sohbet modeli, insan kullanıcılar ve AI sohbet botları arasındaki etkileşimleri geliştirmek için daha da ince ayarlanmıştır. Tam 13 milyar parametre ile bu model, bu özel kullanım durumu için önemli ölçüde özelleştirilmiştir. Bu model ve diğer modeller hakkında daha fazla detayı, a16z-infra’nın yaratıcısının sayfasında AIModels.fyi’de bulabilirsiniz.

Replicate’in llama13b-v2-sohbet modelinin uygulaması, tahminler için güçlü Nvidia A100 (40GB) GPU’yu kullanır ve ortalama tahmin başına 7 saniye süre geçer. Sadece $0.014 başına fiyatlandırılmış olması, düşük bütçeli projeler veya start-up’lar için geniş ölçüde erişilebilir kılar.
LLaMA v2 Chat’in Girdilerini ve Çıktılarını Anlamak

Bir modelin neye ihtiyaç duyduğunu ve ne ürettiğini anlamak, yeteneklerinden etkili bir şekilde yararlanmanın anahtarıdır. O zaman modelin girdileri ve çıktıları ile tanışalım.
Girdiler

Model aşağıdaki girdileri kabul eder:

istemci (string): Llama v2'ye gönderilecek istemci.

max_length (integer): Üreteceği maksimum token sayısı. Genellikle bir kelime 2–3 token’dir. Varsayılan değer 500'dür.

temperature (number): Çıktıların rastgeleliğini ayarlar. 1'den büyük olan rastgele ve 0 deterministiktir. İyi bir başlangıç değeri 0.75'tir.

top_p (number): Metin çözümleme sırasında, en olası token’ların en üst p yüzdesinden örnekler. Bunun daha az olası token’ları göz ardı etmek için düşürün. Varsayılan değer 1'dir.

repetition_penalty (number): Üretilen metinde tekrarlanan kelimeler için ceza sağlar. 1 ceza yok demektir. 1'den büyük değerler tekrarı önler, 1'den küçük değerler teşvik eder.

debug (boolean): Günlüklerde hata ayıklama çıktısı sağlamak için kullanılır.

Modelin yaratıcıları, orijinal metinle tutarlı bir şekilde çeviri yapmanızı sağlamak için bu yapıyı izlemenizi öneriyor.

User: <your prompt goes here>
Assistant:

örneğin…

User: give me tips on things to do in Maine
Assistant:

Modelin Çıktıları

Model aşağıdaki çıktıyı üretiyor:

Çıktı yapısını kataloglayan, daha fazla hesaplama veya kullanıcı arayüzü için kullanılan dizgi dizisi şeklindeki ham JSON şeması. İşte çıktı şemasının bir örneği:

{
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
}

Şimdi, bu modelin nasıl kullanılacağına dair ayrıntılara geçelim.

LLaMA v2 Sohbetini Kullanarak Doğal Sohbet Tamamlamaları Oluşturma

Kodla yeni tanışanlar veya deneyimli kullanıcılar olsanız da, gerçekçi sohbet tamamlamaları oluşturmak için llama13b-v2-chat modelini kullanmak oldukça eğlenceli olabilir.

Use this demo link

Oyun oynuyormuş gibi hissetmek isterseniz ve modelin arayüzüyle etkileşime geçmek ve çalışma prensibini anlamak isterseniz, bu demo bağlantısını kullanın. Projeye entegre etmek için hazır olduğunuzda, aşağıdaki adımları takip edin.

Öncelikle, Node.js istemcisini yükleyerek ortamınızı ayarlamanız gerekecektir:

npm install Replicate

Sıradaki adımda, API kodunuzu doğrulayın ve bir ortam değişkeni olarak ayarlayın. Bu kod kişisel ve dolayısıyla gizli tutulması gereken bir bilgidir.

export REPLICATE_API_TOKEN=r8_******

Daha sonra, modeli şu komutla çalıştırabilirsiniz

import Replicate from "replicate";

const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});

const output = await replicate.run(
"a16z-infra/llama13b-v2-chat:df7690f1994d94e96ad9d568eac121aecf50684a0b0963b25a41cc40061269e5",
{
input: {
prompt: "..."
}
}
);

Ayrıca, tahmininiz tamamlandığında çağrılacak bir webhook ayarlayabilirsiniz. Bu, kayıtların tutulması veya otomatik uyarılar kurulması açısından yararlı olabilir.

const prediction = await replicate.predictions.create({
version: "df7690f1994d94e96ad9d568eac121aecf50684a0b0963b25a41cc40061269e5",
input: {
prompt: "..."
},
webhook: "https://example.com/your-webhook",
webhook_events_filter: ["completed"]
});

Daha fazla ayrıntı için, her zaman Replicate dokümantasyonuna başvurabilirsiniz. -> Replicate

Daha fazlasını yapmak: AIModels.fyi ile Diğer Metinden Metine Modeller Bulma

Uygulamanız için başka sohbet botları keşfetmek ister misiniz? AIModels.fyi’yi kullanırken llama13b-v2-chat’e benzer modeller bulmak kolaydır.

İşte, belirli ihtiyaçlarınıza hizmet eden diğer AI modellerini bulmanıza yardımcı olacak adım adım bir rehber:

AIModels.fyi’yi Ziyaret Edin

Keşif yolculuğunuza başlamak için AIModels.fyi’ye gidin.

Arama Çubuğunu Kullanın

“Text-to-text”, “language models” gibi anahtar kelimeler yazın. Arama motoru, sorgunuza uyan bir model listesi sunacaktır.

Sonuçları Filtreleyin

Arama sonuçlarınızı daraltmak için filtreler, arama sonuçlarınızın sayfasında bulunabilir. Modelleri tür, maliyet, popülerlik veya belirli yaratıcılar tarafından bile filtreleyebilir ve sıralayabilirsiniz. Örneğin, bütçe dostu bir metinden metne model arıyorsanız, modelleri fiyata göre sıralayarak en ucuz seçeneği bulabilirsiniz. Sonuç

Bu rehberde, zengin özelliklere sahip, maliyet etkin bir dil modeli olan LLaMA v2'nin potansiyelini keşfettik. Bu, nüanslı ve gerçekçi bir konuşmayı güçlendiren, bir sonraki sohbet uygulamanızın potansiyel omurgasıdır. Artık bu modelin nasıl uygulanacağını, giriş/çıkışlarını nasıl anlayacağınızı ve alakalı sohbet tamamlamalarını etkin bir şekilde nasıl oluşturacağınızı biliyorsunuz.

Bu yazı Mike Young’ın hackernoon.com platformunda yayınladığı “A Deep Dive into LLaMA v2 for Chat Applications” isimli makalesinden çevrilmiştir.

--

--

Sezer Ufuk Yavuz
Sezer Ufuk Yavuz

Written by Sezer Ufuk Yavuz

Flutter & Swift dev | Specializing in LLM applications for daily ease on macOS  | Founder of ThinkBuddy, enhancing the macOS experience: http://thinkbuddy.io

No responses yet