İnsanların sohbette ve destek taleplerinde bize gerçekten sorduklarından, yaklaşık olarak sorulma sırasına göre derlendi. İlk üçü, bir satın almanın işe yarayıp yaramayacağını belirleyen sorulardır.
- Büyük bir dil modelinin ne kadar GPU belleğine ihtiyacı vardır?
- Ağırlıklar, parametre sayısının parametre başına bayt sayısıyla çarpımıdır: 16 bitte parametre başına iki bayt, 8 bitte bir bayt, 4 bitte yarım bayt. 7–8 milyar parametreli bir modelin ağırlıkları 16 bitte 16 GB, 8 bitte 8 GB ve 4 bitte 5 GB tutar; 70 milyar parametreli bir modelin ağırlıkları ise 140 GB, 70 GB ve 38 GB tutar. Bu rakamlar yalnızca ağırlıklardır ve bir gereksinimden çok bir alt sınırdır — çalışma zamanı, aktivasyonlar ve anahtar-değer önbelleği için üzerine dörtte bir ila yarım oranında daha pay ayırın.
- Llama 3.3 gibi bir 70B modeli çalıştırmak için neye ihtiyacım var?
- 4 bitte ağırlıklar yaklaşık 38 GB tutar, bu nedenle sunum için gereken boşluk payıyla birlikte cevap 64 GB veya daha fazla belleğe sahip bir karttır — tek kart, tek makine. 8 bitte ağırlıklar 70 GB tutar ve 80 GB'lık bir kart bu çıtayı aşar. Tam 16 bit hassasiyette taktığımız hiçbir tek kart onu taşıyamaz ve bu, fiyat teklifi verdiğimiz çok kartlı bir yapıya dönüşür. Yukarıdaki Şekil 3 tam kartları adlandırır; fiyatlar GPU dedicated servers sayfasındadır.
- Modelim neden yükleniyor ama sunum yapamıyor?
- Çünkü kart belleğindeki tek şey ağırlıklar değildir. Çalışma zamanı ve arabellekleri bellekte yerleşiktir ve bir konuşmadaki her token, yeniden hesaplanmak zorunda kalmasın diye anahtar-değer önbelleğinde bir girdi bırakır. Bu önbellek bağlam uzunluğuyla ve eşzamanlı olarak sunulan her istekle birlikte büyür; bu nedenle ağırlıkları zar zor sığan bir model yaklaşık olarak tek bir kısa konuşmayı tutabilir. Kartı, ağırlıkların bir buçuk katı ila bir buçuk katı arasında boyutlandırın.
- Hangi çıkarım çalışma zamanını kurabilirim?
- Hepsini. Makine temiz bir işletim sistemi ve root yetkisiyle gelir ve önünde hiçbir satıcı çıkarım hizmeti yoktur. Gerçek trafiği sunmak için olağan cevap vLLM'dir çünkü sürekli yığınlama, tek bir kartın aynı anda birçok isteği yanıtlamasını sağlar. Bellek sınırlıysa veya kart eskiyse olağan cevap llama.cpp'dir. TGI ve SGLang değiştirilmeden çalışır. Ollama, boş bir makineden bir bağlantı noktasında yanıt veren bir modele giden en kısa yoldur — ve hem vLLM hem de Ollama OpenAI uyumlu bir uç noktada yanıt verir, böylece mevcut istemci kodu tek bir temel URL'yi değiştirerek kendi makinenize işaret eder. Sürücüyü, CUDA veya ROCm sürümünü ve çerçeveyi, kodunuzun test edildiği sürümlere sabitlersiniz.
- Bir LLM'yi kendi sunucumda barındırmak token başına API'den daha mı ucuz?
- Tamamen hacme bağlıdır ve kesişim noktası gerçektir: bir API token başına faturalandırır ve boştayken hiçbir maliyeti yoktur; adanmış bir makine sabit bir aylık rakamdır ve meşgulken ekstra maliyeti yoktur. Sürekli trafik, tüm gün çalışan ajanlar, toplu iş hatları ve gizlilik gereksinimi olan her şey kendi donanımında öne çıkma eğilimindedir; günde on kez çalışan bir iş yükü ise çıkmaz. Bu hesabı yapmak için gereken aylık rakamlar GPU dedicated servers sayfasındadır — bu sayfa bilinçli olarak hiçbir fiyat vermez.
- Saniyede kaç token alırım?
- Saniye başına token rakamı yayınlamıyoruz, çünkü bu tür her sayı modele, nicemlemeye, çalışma zamanına ve sürümüne, yığın boyutuna, istem uzunluğuna, yanıt uzunluğuna ve eşzamanlılığa bağlıdır ve herhangi birini değiştirmek sonucu katlarıyla oynatır. Bunu yöneten şey: istemi okumak hesaplama sınırlıdır ve istek başına bir kez gerçekleşir; yanıtı üretmek bellek bant genişliği sınırlıdır çünkü her token ağırlıkların okunmasını gerektirir; ve yığınlama bu okumayı eşzamanlı isteklere yayar, bu da anahtar-değer önbelleği yer kalmayana kadar sunumu ekonomik kılan şeydir. Gerçekte gözlemlediklerimize dayalı bir cevap için model, nicemleme ve beklenen eşzamanlılıkla birlikte sorun.
- GPU başka biriyle paylaşılıyor mu?
- Hayır. Fiziksel makine başına tek kiracı vardır ve kart kendi işletim sisteminize doğrudan geçirilir. Hipervizör, MIG bölümü, vGPU profili veya zaman dilimleme zamanlayıcısı yoktur; bu nedenle kartta başka hiçbir şey çalışmaz ve çıkarım gecikmesi başka birinin toplu işi yüzünden değişmez.
- Model tek karta sığmazsa ne olur?
- O zaman bu çok kartlı bir yapıdır ve bir ödeme sayfasından sipariş edilmek yerine fiyat teklifi verilir: 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, yalnızca çalışma zamanı modeli ikisine bölebiliyorsa belleklerinin toplamını verir; her ciddi çalışma zamanı bunu bir miktar verim maliyetiyle destekler. Birden fazla kart veya makine bu yapının nasıl göründüğünü anlatır.
- İnce ayar, sunumdan daha fazla bellek mi gerektirir?
- Çok daha fazlasını. Sunum ağırlıkları gerektirir; eğitim ise ağırlıkları, gradyanları ve güncellenen her parametre için optimize edici durumunu, hepsi aynı anda bellekte, artı geri geçiş için tutulan aktivasyonları gerektirir. Tek kartta rahatça sunulan bir model, o kartta tam ince ayar yapmak için birkaç kat fazla büyük olabilir. Parametre verimli yöntemler parametrelerin küçük bir kısmını günceller ve buna karşılık gelen küçük bir ek bellek payına ihtiyaç duyar; buradaki ince ayarın çoğunun birini kullanmasının nedeni budur.
- AMD kart çalıştırabilir miyim ve ROCm çalışır mı?
- Evet. AMD Instinct parçaları taktığımız en büyük belleğe sahip kartlar arasındadır ve genellikle gigabayt başına en iyi değeri sunar, ancak yığınınızın CUDA yerine ROCm'u desteklemesi gerekir. Güncel çıkarım çalışma zamanlarının çoğu destekler; çevredeki bazı araçlar hâlâ desteklemez. Sipariş vermeden önce sorun, genel bir cevap vermek yerine belirli çalışma zamanınıza göre kontrol edelim.