1 puan yazan GN⁺ 2024-01-10 | 1 yorum | WhatsApp'ta paylaş
  • Mixtral 8x7B, Mistral 7B'nin temel mimarisini korurken her katmandaki feedforward bloklarını 8 uzmana dönüştüren bir seyrek uzman karışımı (SMoE) modelidir ve açık ağırlıklarla, Apache 2.0 lisansı altında yayımlandı
  • Her token için yönlendirici, 8 uzmandan yalnızca 2'sini seçerek hesaplama yaptığı için, token başına 47B parametreye erişirken çıkarım sırasında etkin parametreler 13B ile sınırlı kalır
  • 32k token bağlam boyutuyla eğitildi ve değerlendirilen benchmark'ların genelinde Llama 2 70B ile GPT-3.5'i geçti ya da benzer performans gösterdi; özellikle matematik, kod üretimi ve çok dilli görevlerde güçlü
  • Mixtral 8x7B – Instruct, supervised fine-tuning ve doğrudan tercih optimizasyonu (DPO) ile yönerge takibini öğrenen bir sohbet modelidir; insan değerlendirmelerinde GPT-3.5 Turbo, Claude-2.1, Gemini Pro ve Llama 2 70B-chat'i geride bıraktı
  • Seyrek uzman mimarisi, toplam parametreleri büyütürken token başına hesaplama miktarını baskıladığı için, düşük batch boyutlarında hızlı çıkarım ve büyük batch boyutlarında yüksek throughput sağlayabilir

Açık model ve benchmark performansı

  • Mixtral 8x7B, açık ağırlıklı bir seyrek uzman karışımı (SMoE) modelidir ve Apache 2.0 lisansı sayesinde akademik ve ticari kullanım mümkündür
  • Temel model ile yönerge takibi için Mixtral 8x7B – Instruct birlikte yayımlandı
  • Kod ve web sayfası sağlanıyor
  • Birçok benchmark'ta Llama 2 70B ve GPT-3.5'i geride bıraktı ya da eşdeğer düzeyde sonuç verdi
  • Matematik, kod üretimi ve çok dilli anlama gerektiren görevlerde Llama 2 70B'den daha güçlü performans gösterdi
  • 32k token bağlam penceresinde, bilginin konumundan ve dizi uzunluğundan bağımsız olarak bilgi alınabildiği doğrulandı

Seyrek uzman karışımı mimarisi

  • Mixtral, decoder-only bir transformer'dır ve standart transformer'daki feedforward blokları Mixture-of-Experts katmanlarıyla değiştirilmiştir
  • Her katmandaki yönlendirici ağı, token bazında 8 uzmandan 2 uzman seçer
    • Seçilen uzmanların çıktıları ağırlıklı toplamla birleştirilir
    • Uzman seçimi her zaman adımında değişebilir
  • Tek bir token 47B parametreye erişebilir, ancak gerçek çıkarımda kullanılan etkin parametreler 13B'dir
  • Bu mimari, modelin toplam parametre sayısını artırırken token işleme maliyetini ve gecikmeyi kontrol altında tutmak için tasarlanmıştır

MoE katmanının hesaplama biçimi

  • MoE modülünün çıktısı, uzman ağlarının çıktılarının ağırlıklı toplamı olarak hesaplanır ve ağırlıklar gating ağı tarafından belirlenir
  • Gating vektörü seyrekse, kapı değeri 0 olan uzmanların çıktısını hesaplamaya gerek kalmaz
  • Mixtral, lineer katmanın logitleri içinden en büyük K değere softmax uygular
    • K, token başına kullanılacak uzman sayısını belirleyen bir hiperparametredir
    • Mixtral'de K = 2 olarak ayarlanmıştır
  • Uzman sayısı n artırılıp K sabit tutulduğunda, token başına hesaplama miktarı pratikte sabit kalırken toplam parametre sayısı büyütülebilir
  • Böylece toplam seyrek parametre sayısı ile tekil token işleme sırasında kullanılan etkin parametre sayısı birbirinden ayrılır

Uygulama ve çıkarım verimliliği

  • MoE katmanları, tek bir GPU üzerinde bile özel çekirdeklerle verimli şekilde çalıştırılabilir
  • Megablocks, MoE katmanlarının FFN işlemlerini büyük seyrek matris çarpımları olarak ifade ederek yürütme hızını artırır ve uzmana göre ayrılan token sayısının değiştiği durumları da işler
  • MoE katmanları, standart model paralelleştirme ve uzman paralelliği (Expert Parallelism) ile birden çok GPU'ya dağıtılabilir
    • Belirli bir uzmanın işlemesi gereken token'lar ilgili GPU'ya yönlendirilir
    • Uzman çıktıları özgün token konumlarına geri döndürülür
  • Uzman paralelliğinde GPU'lar arası iş yükünün dengeli dağıtılması gerektiğinden yük dengeleme gerekir
  • Tamamen açık kaynaklı bir yığında Mixtral'ı çalıştırabilmek için vLLM projesine Megablocks CUDA çekirdeklerini entegre eden değişiklik gönderildi ve Skypilot, bulut instance'larında vLLM endpoint dağıtımını destekliyor

Instruct modeli ve değerlendirme özellikleri

  • Mixtral 8x7B – Instruct, supervised fine-tuning ve doğrudan tercih optimizasyonu (DPO) ile yönerge takibini öğrenen bir sohbet modelidir
  • İnsan değerlendirme benchmark'larında GPT-3.5 Turbo, Claude-2.1, Gemini Pro ve Llama 2 70B-chat'ten daha yüksek performans gösterdi
  • BBQ ve BOLD gibi benchmark'larda daha düşük önyargı ve daha dengeli bir duygu profili sergiledi
  • Seyrek mimari sayesinde düşük batch boyutlarında daha hızlı çıkarım, büyük batch boyutlarında ise daha yüksek throughput beklenebilir
  • Tüm FFN alt bloklarının MoE katmanlarıyla değiştirilmesi bakımından, yalnızca bazı blokları değiştiren GShard'dan yapısal olarak ayrılır

1 yorum

 
GN⁺ 2024-01-10
Hacker News yorumları
  • Bu makale, yaklaşık bir aydır açıkça erişilebilir olup kullanılan modeli ayrıntılı biçimde ele alıyor. Mixtral 8x7B gerçekten çok başarılı; kabaca 13B sınıfı bir boyutta olmasına rağmen benzer boyuttaki modellerden https://www.reddit.com/r/LocalLLaMA/comments/1916896/llm_com... gibi sıralamalarda çok daha yüksek değerlendiriliyor
    Ravenwolf, bu modelin bazı benchmark sonuçlarının gösterdiğinden pratikte biraz daha iyi çıktığını söyledi; benim deneyimim de aynı yönde. Bu boyuttaki bir model için şaşırtıcı derecede iyi ve Mac’te sohbet, kod yazma ve diğer işler için her gün kullanılabilecek kadar yeterli
    Ağırlıklar yayımlandıktan sonra ortaya çıkan şey, 8 uzmanın tamamının Mistral 7B’den başlatılmış ve daha sonra ayrışmış olma olasılığının epey yüksek olduğu. Bu nedenle yerel LLM topluluğunda, modeli kopyalayarak ucuza uzmanlar üretmeye yönelik çok sayıda deney yürütülüyor
    Normalde bir 8x7B ağını eğitmek için 8 adet 7B ağı eğitmek kadar iş gerektiği düşünülürdü; ancak Mistral’da durum böyle olmamış gibi görünüyor, bu da çok ilginç
    DeepMind’ın Calm gibi makaleleri ve Goliath-120b gibi katmanları anlık olarak birleştiren deneyler gelmeye devam ediyor; bu yüzden bu yıl LLM tarafında oldukça ilginç mimari iyileştirmeler görme ihtimalimiz yüksek görünüyor. Calm, MoE’den sonraki aşamaya işaret ediyor gibi; Goliath gibi modeller ise Calm’ın çok tembelce uygulanmış bir biçimi, yani doğrusal katman birleştirmesi olmadan yalnızca tüm ağırlık katmanlarını dönüşümlü kullanmanın bile büyük etki yaratabileceğini gösteriyor
    Genel olarak 2024’te, muhtemelen ilk yarı içinde, tüketici donanımında da iyi performansla çalışan güçlü modeller göreceğimizi düşünüyorum

    • Ben de Mixtral’dan çok iyi sonuçlar aldım; gerçekten etkileyici. Ancak görece büyük bir model olduğu için tüketici donanımında tam GPU çıkarımı ile çalıştırmak zor. İnsanların genelde kullandığı 7B/13B modellerinden farklı
      Şu ana kadar, çıktı kalitesini bozacak kadar yüksek niceleme olmadan çalıştırılabilen başlıca tüketici platformu, tümleşik belleğe sahip yeni Apple Silicon Mac’ler gibi görünüyor; genellikle 48 GB ve üzeri. 32 GB veya 36 GB’da da mümkün olduğu söyleniyor ama çok fazla pay kalmıyor
      coder543’ün belirttiği gibi, yeterli toplam VRAM’e sahip çoklu GPU yapılandırmaları varsa daha kayıplı nicelemeye gerek kalmadan da çalıştırılabilir
    • Mixtral iyi ama Ravenwolf benchmark’ı anlamsız. Sanki rastgele birinin, katılık ve tutarlılık olmadan MMLU’yu Almanca olarak yeniden icat etmeye çalışması gibi
      Veri kümesi sızıntısı bir sorun, ama subreddit’te ipucu soran insanların LLM’leri folklorik yöntemlerle değerlendirmesiyle çözülecek bir sorun değil
    • Donanım duyurularını merakla bekliyorum. Tüketici tarafı için cihaz üzerinde LLM hızlandırmayı özellikle hedefleyen ürünlerin kesinlikle yaklaşmakta olduğu görünüyor
    • Phi-2 gibi daha küçük modellere dayalı MoE’yi ne zaman görebileceğimizi gerçekten merak ediyorum
  • Bu modelin aktif parametre sayısının 13B seviyesine kadar düşük olması dikkat çekici; bu sayede 3090’da yüksek kaliteyle akıcı biçimde çalışabiliyor, HumanEval’da GPT-3.5’i geçiyor ve 32k bağlam da sunuyor
    3090 tüketici sınıfı ve oyun PC’lerinde de yaygın. Oyun geliştiricilerinin yerel dağıtılan Mixtral’ı oyunlara koyup denemeye başlamasını isterim. Örneğin Civilization gibi bir oyunda her liderin bir LLM tarafından çalıştırılması gibi

    • Mixtral, 2020 sonrası Apple MacBook Pro M1/M2/M3’lerde 32 GB veya daha fazla RAM varsa makul token hızıyla çalıştırılabiliyor. 16 GB RAM de bir ölçüde oluyor; muhtemelen 3090’da kullanılanla benzer bir nicelemedir ve niceleme farkı hissediliyor
      Benim M2 Pro’mda token hızı ve zekâ seviyesi GPT-3.5 Turbo gibi hissettiriyor. Teknolojinin kendisi iyi olduğu için sadece kurcalama seviyesini aşıp GPT-3.5 yerine gerçekten kullanmaya başladığım ilk model bu
      32 GB RAM’li Apple M2 Pro, 3090 takılı bir oyun PC’siyle benzer fiyat aralığında; bu da makul ölçüde yüksek performanslı sisteme sahip sıradan insanların “tesadüfen” GPT-3.5’e denk sayılabilecek bir modeli çalıştırabildiğine dair başka bir örnek
      Bu koşulu sağlayan bir Apple cihazınız varsa ve denemek istiyorsanız, LLM Studio açık kaynaklı ve başlamayı kolaylaştırıyor: https://lmstudio.ai/
      Mixtral ve devam modelleri sayesinde hobi amaçlı hacking’in çok daha artmasını umuyorum
    • Google’a göre RTX 3090 fiyatı 1.480–1.680 dolar arasında
      O paraya komple bir PC alınabilir; bu kadar pahalı bir GPU’nun “tüketici sınıfı” ve “yaygın” olduğuna inanmak zor
      LLM’ler veya diğer üretken yapay zeka işleri için iyi olup da fahiş pahalı olmayan bir GPU var mı? Yoksa oyun grafikleri için değil de özellikle yapay zeka için tasarlanmış bir ürün var mı?
    • 4 bit niceleme modellerinin CPU’da bile okuma hızı civarında çalıştırılabilmesi de önemli. Özellikle bazı sonuçlar asenkron olarak önceden hesaplanabiliyorsa birçok kullanım senaryosu açılabilir
    • Yerel modelleri ajan olarak deniyorum; ilgilenenler llama.cpp’nin “grammars” özelliğini bilmeli. Model çıktısının belirli bir yapıyı izlemesini zorunlu kılabiliyor; bu yalnızca geçerli JSON çıktısını garanti etmek için değil, “x seçilirse y de mutlaka sağlanmalı” gibi daha özel kısıtlar için de yararlı
      Örneğin ileriye dönük plan yapan bir aktörden 5N1K’nin herhangi üçüne yanıt vermesi istenebilir; JSON string değerlerinin içinde ise serbestçe yazmasına izin verilerek daha sonra sınırlı eylem kümesi seçimi için bağlam olarak kullanılabilir. Ya da model yanıtın sonunda daha fazla düşünme süresi isteyebilir; istemezse bir sonraki eylemi belirtmek zorunda bırakılabilir
      Bana göre üretim hızına etkisi yok ve çok yaratıcı biçimde kullanılabiliyor. Ancak çıktı kesilirse yeniden üretim gerekebilir; ayrıca geçerli bir JSON nesnesi kapanır kapanmaz veya art arda beşten fazla satır sonu üretilirse durduran ayrı bir fonksiyon yazmam gerekti. Modele göre değişebilir
    • VRAM kullanımı 47B modeline daha yakın. Çıkarım sırasında aynı anda yalnızca 2 uzman kullanılsa bile, tamamlamak için tüm uzmanlar gerekiyor
  • Bu modeli denemek istiyorsanız, muhtemelen Mozilla/jart'ın Llamafile olarak dağıttıklarından biri olacaktır

    1. llamafile'ı indirin (30,03 GB): https://huggingface.co/jartine/Mixtral-8x7B-Instruct-v0.1-ll...
    2. chmod +x mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile
    3. ./mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile
      [0] https://hacks.mozilla.org/2023/11/introducing-llamafile/
      [1] https://github.com/Mozilla-Ocho/llamafile#quickstart
  • Mac Silicon'da Ollama ile mümkün
    https://ollama.ai/
    ollama pull mixtral
    ChatGPT benzeri bir web arayüzü istiyorsanız https://github.com/ollama-webui/ollama-webui
    docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v ollama-webui:/app/backend/data --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main
    http://localhost:3000 adresine bağlanmanız yeterli. Ollama LangChain'de de kullanılabilir

    • Kilidi kaldırılmış birkaç fine-tuning de var. Dolphin oldukça popüler görünüyor ve kodlama verileriyle daha fazla eğitilmiş. 32 GB içine sığdırmak istiyorsanız https://ollama.ai/library/dolphin-mixtral:8x7b-v2.7-q3_K_M var
    • Mac M1'de Ollama ya da başka bir LLM host'unu Docker ile kullanacağımı sanmıyorum. Bildiğim kadarıyla henüz Metal desteği yok
  • Son dönemdeki ilgili yazılar
    Mixtral of experts - https://news.ycombinator.com/item?id=38598559 - Aralık 2023, 300 yorum
    Mistral-8x7B-Chat - https://news.ycombinator.com/item?id=38594578 - Aralık 2023, 69 yorum
    Mistral "Mixtral" 8x7B 32k model [magnet] - https://news.ycombinator.com/item?id=38570537 - Aralık 2023, 239 yorum

  • Özellikle Mixtral, matematik, kod üretimi ve çok dilli benchmark'larda Llama 2 70B'yi belirgin şekilde geride bırakıyor
    Matematikte nasıl bir performans göstereceğini merak ediyorum. Matematik her zaman bariz bir zayıf nokta gibi görünüyordu ve hâlâ kimsenin etkili biçimde çözemediği bir alan gibi

    • Matematik bir ölçüde LLM'lerin doğasında olan bir zayıflık. Sonraki kelime tahmini zaten matematikte iyi olsun diye tasarlanmış bir şey değil
      Bu sorunun yalnızca daha iyi LLM'lerle “çözüleceğini” sanmıyorum; ancak program çalıştırmaya ve hesap makinesine erişebilen multimodal modellerle mümkün olacak gibi
  • Çok fazla LLM makalesi okumuş değilim, ama bu makalenin ayrıntı bakımından eksik, oldukça zayıf bir makale olduğunu düşünüyorum. Kastettiğim LLM'in sonuçları değil, makalenin kendisi
    İnceleme için masama gelseydi muhtemelen sırf bu nedenle geri gönderirdim. Örneğin uzmanları nasıl eğittiklerini, hangi veri kümelerini kullandıklarını doğru düzgün söylemiyor
    Bu, bu alanın mevcut standardı mı?

    • Oldukça yaygınlaşıyor. Bahsettiğiniz iki şey, yani eğitim ayrıntıları ve veri kümesi karışımı, aslında şirketlerin sahip olduğu neredeyse tek rekabet avantajı
      Kod ve mimari kolayca yeniden üretilebildiği için, yeterince parası olan herkes “kolayca” rakip bir model yapabilir
      OpenAI bu akımı başlattı ve model parametre sayısını bile belirtmeyen GPT-4 “teknik raporu” ile pekiştirdi. Veri kümeleri konusunda ise bundan çok daha öncesinden beri sürekli muğlaklardı
    • Evet, ben de aynı fikirdeyim. Aslında her bir uzmanı ayrı ayrı eğitip sonra birlikte eğittiklerini tahmin ediyorum. Çünkü router ağını da eğitmek gerekiyor
      LLM uzmanı hiç değilim, ama özellikle farklı eğitim ayarlarının performansı nasıl etkilediğini öğrenebilmek ilginç olurdu
  • Kamuya erişilebilir multimodal modellerin ne zaman ortaya çıkmaya başlayacağını merak ediyorum
    Yalnızca metin modellerindeki ilerleme şaşırtıcıydı, ancak GPT-4'ün birçok “ortaya çıkan” davranışı yalnızca MoE veya parametre sayısından değil, multimodal eğitimden de kaynaklanıyor olabilir
    Daha küçük multimodal modellerde de benzer bir sıçrama görülüp görülmeyeceğini merak ediyorum

    • LLaVA herkese açık. Ancak beklenen sıçrama bu olmayabilir: https://llava-vl.github.io/
      Meta da 6 modalite arasında çalışan multimodal modelini ticari olmayan bir lisansla yayımladı: https://ai.meta.com/blog/imagebind-six-modalities-binding-ai...
    • Kısa süre test ettiğim kadarıyla CogVLM çok iyiydi: https://github.com/THUDM/CogVLM
      Model ağırlıkları ticari olmayan bir lisansa sahip olduğundan gerçek anlamda açık kaynak değil gibi, ancak istediğiniz “kamuya erişim” kapsamına giriyor
      Birinin CogVLM ile uyumlu bir modeli açık kaynak lisansla sıfırdan eğitmesi iyi olurdu
    • FAANG'deki kişilerden duyduğuma göre Google bu konuda OpenAI'dan önce öne geçmişti ve OpenAI biraz yetişmeye çalışıyormuş. Tabii dil tarafında OpenAI hâlâ belirgin bir üstünlüğe sahip. Bunların hepsi bana aktarılan şeyler
  • Simon Willison'ın LLM aracıyla bu modeli çalıştırmanın mümkün olup olmadığını merak ediyorum. Issue veya tartışmalarda Mixtral'den bahsedildiğini bulamadım
    Bunun dışında bu modeli komut satırında kolayca denemenin bir yolu var mı?

  • Yakın tarihli bir A16Z podcast röportajında Mistral'ın kurucusu, içeride ChatGPT ile GPT-4 arasında kaliteye sahip birkaç modelleri olduğunu söyledi
    Şimdiye kadarki yüksek kaliteli yayınlara bakılırsa açık kaynak LLM'ler için ilginç bir dönem olacak gibi

    • Ancak daha güçlü Mistral modellerinin de FOSS olarak yayımlanacağına dair bir işaret yok