Rewolucja w Bit-TTT-Engine. Dotychczas istniał stan "LLM działa tylko na Bit-TTT-Engine → brak LLM", ale teraz stworzymy narzędzie do konwersji na zmienną precyzję bitową (1.58bit x N), które rozkłada istniejące LLM (pliki safetensors, takie jak Llama-3). Poniższy obrazek przedstawia wyniki eksperymentu przeprowadzonego na prototypie w Pythonie z macierzą Gaussa 4096x4096 (odpowiadającą jednemu poziomowi Llama-3). 1. Wysoka efektywność kompresji: nawet przy użyciu trzech podstaw (Base 3), rozmiar wynosi około 30% w porównaniu do FP16 (32MB). 2. Zmniejszenie błędów: dzięki trzem etapom rozkładu, błąd (RMSE) zmniejszył się do około 1/4 wartości początkowej. 3. Wykonalność: prototyp w Pythonie działa szybko, a konwersja całego Llama-3 jest możliwa w wystarczająco realistycznym czasie. Na podstawie tych wyników można stwierdzić, że jeśli silnik Rust wspiera "zmienną długość dodawania podstaw", technicznie możliwe jest uruchomienie modeli klasy Llama-3 z wysoką precyzją na 4GB VRAM. Poniżej znajduje się mapa drogowa. --- 🚀 Mapa drogowa projektu: Faza 10.5 (Adaptacyjny rozkład) Misja: Uruchomić modele klasy Llama-3 (8B) na konsumenckich GPU (VRAM 4GB) z "praktyczną prędkością i precyzją". 🎯 Kluczowa koncepcja Zlikwidowanie ograniczenia "konieczności ponownego uczenia" w istniejącym BitNet (1.58bit). Dzięki kwantyzacji po nauce (PTQ) i adaptacyjnemu rozkładowi ternarnemu (ATD), istniejące modele FP16 będą mogły być dynamicznie kwantyzowane i uruchamiane. 📅 Fazy rozwoju Faza 1: Most (Narzędzia Python i układ danych) Cel: Rozłożyć istniejące modele na "N podstaw" i zapisać je w formacie zoptymalizowanym dla GPU. 🔧 Wdrożenie: Converter (convert_adaptive.py): Implementacja algorytmu rozkładu wag z użyciem metody Greedy Residual. Interleaved Packing: Priorytet na szybkość wnioskowania, przyjęcie formatu weight_packed z interleaved [w0, w1, w2] na poziomie parametrów. Wsparcie dla starszych wersji: Projekt danych zachowujący kompatybilność z istniejącymi modelami BitNet (N=1). ...