İnsanların sohbet ve destek taleplerinde bize gerçekten sordukları sorulardan, yaklaşık olarak sorulma sırasına göre derlenmiştir. İlk iki soru, satın alma işleminin gerçekleşip gerçekleşmeyeceğine karar veren sorulardır.
- Büyük bir dil modeli ne kadar GPU belleğine ihtiyaç duyar?
- Ağırlıklar, parametre sayısının parametre başına bayt sayısıyla çarpılmasıyla elde edilir: 16 bit için iki bayt, 8 bit için bir bayt, 4 bit için yarım bayt. 7-8 milyar parametreli bir model, 16 bit için 16 GB, 8 bit için 8 GB ve 4 bit için 5 GB ağırlık gerektirir; 70 milyar parametreli bir model ise 140 GB, 70 GB ve 38 GB ağırlık gerektirir. Bu rakamlar yalnızca ağırlıkları gösterir ve bir gereklilikten ziyade bir taban değerdir; çalışma süresi, aktivasyonlar ve anahtar-değer önbelleği için bunun üzerine çeyrek ila yarım kat daha fazla bütçe ayırın.
- Modelim yükleniyor ama neden çalışmıyor?
- Çünkü kart belleğinde yalnızca ağırlıklar bulunmuyor. Çalışma zamanı ve tamponları da bellekte yer alıyor ve bir konuşmadaki her belirteç, yeniden hesaplanmasına gerek kalmaması için anahtar-değer önbelleğinde bir giriş bırakıyor. Bu önbellek, bağlam uzunluğuyla ve eş zamanlı olarak sunulan her istekle birlikte büyüyor; bu nedenle, ağırlıkları ancak tam olarak sığan bir model, yaklaşık bir kısa konuşmayı tutabilir. Kartın boyutunu, ağırlıkların bir buçuk katı ile bir buçuk katı arasında ayarlayın.
- Hangi çıkarım çalışma ortamını kurabilirim?
- Bunlardan herhangi biri. Makine temiz bir işletim sistemi ve root ile gelir ve önünde satıcıya ait bir çıkarım hizmeti yoktur. Sürekli gruplama, bir kartın aynı anda birçok isteğe cevap vermesini sağladığı için, gerçek trafiğe hizmet etmek için genellikle vLLM kullanılır. Bellek kısıtlı olduğunda veya kart eski olduğunda llama.cpp kullanılır. TGI ve SGLang değişmeden çalışır. Ollama, boş bir makineden bir portta cevap veren bir modele giden en kısa yoldur. Sürücüyü, CUDA veya ROCm sürümünü ve çerçeveyi, kodunuzun test edildiği sürümlere sabitlersiniz.
- Saniyede kaç jeton alacağım?
- Saniye başına token sayısını yayınlamıyoruz çünkü bu tür her sayı modele, nicelemeye, çalışma zamanına ve sürümüne, toplu işlem boyutuna, istem uzunluğuna, yanıt uzunluğuna ve eşzamanlılığa bağlıdır ve bunlardan herhangi birinin değiştirilmesi onu kat kat etkiler. Bunu belirleyen şey şudur: istemi okumak hesaplamaya bağlıdır ve istek başına bir kez gerçekleşir; yanıt oluşturmak bellek bant genişliğine bağlıdır çünkü her token ağırlıkların okunmasını gerektirir; ve toplu işlem, bu okumayı eşzamanlı istekler arasında dağıtır, bu da anahtar-değer önbelleği dolana kadar sunmayı ekonomik hale getirir. Gerçekte gözlemlediğimiz verilere dayanarak bir yanıt almak için model, niceleme ve beklenen eşzamanlılık bilgilerini isteyin.
- GPU başka biriyle paylaşılıyor mu?
- Hayır. Fiziksel makine başına bir kiracı bulunur ve kart kendi işletim sisteminize aktarılır. Hipervizör, MIG bölümü, vGPU profili ve zaman dilimleme zamanlayıcısı yoktur, bu nedenle kart üzerinde başka hiçbir şey çalışmaz ve çıkarım gecikmesi başkasının toplu işi nedeniyle değişmez.
- Model tek bir karta sığmazsa ne olacak?
- O zaman bu, sipariş vermek yerine fiyatlandırılan çoklu kartlı bir yapılandırmadır: kaç kartın sığacağı, belirli kartın fiziksel genişliğine ve kasanın güç bütçesine bağlıdır. İki kart, ancak çalışma zamanı modeli her iki karta da bölebiliyorsa, belleklerinin toplamını verir; bu da her ciddi çalışma zamanı için bir miktar verim kaybı pahasına desteklenir. Birden fazla kart veya makine, bu yapılandırmanın nasıl görüneceğini karşılar.
- İnce ayar yapmak, sunuculuk yapmaktan daha fazla belleğe mi ihtiyaç duyar?
- Çok daha fazla. Sunucu, ağırlıklara ihtiyaç duyar; eğitim ise, güncellenen her parametre için ağırlıklara, gradyanlara ve optimizasyon durumuna, bunların hepsine aynı anda ihtiyaç duyar; ayrıca geri besleme için saklanan aktivasyonlara da ihtiyaç vardır. Tek bir kartta rahatça çalışan bir model, üzerinde tam olarak ince ayar yapmak için birkaç kat daha büyük olabilir. Parametre açısından verimli yöntemler, parametrelerin küçük bir bölümünü günceller ve buna karşılık gelen ek belleğin küçük bir bölümüne ihtiyaç duyar; bu nedenle burada ince ayarın çoğu tek bir kart kullanılarak yapılır.
- AMD ekran kartı kullanabilir miyim ve ROCm çalışır mı?
- Evet. AMD Instinct işlemciler, taktığımız en büyük bellekli kartlar arasında yer alıyor ve genellikle gigabayt başına en iyi değeri sunuyor, ancak sisteminizin CUDA yerine ROCm'yi desteklemesi gerekiyor. Mevcut çıkarım çalışma ortamlarının çoğu bunu destekliyor; ancak bazı çevre araçları hala desteklemiyor. Sipariş vermeden önce sorun, böylece genel bir cevap vermek yerine, özel çalışma ortamınıza göre kontrol edelim.