Lm.rs: बिना dependencies के Rust-आधारित न्यूनतम CPU LLM inference तकनीक
(github.com/samuel-vitorino)lm.rs: Rust के साथ CPU पर लोकल language model inference चलाना
-
परिचय
- lm.rs एक प्रोजेक्ट है जो Rust का उपयोग करके CPU पर language model inference चला सकता है.
- यह Karpathy के llama2.c और llm.c से प्रेरित है, और ML लाइब्रेरी के बिना न्यूनतम कोड के साथ language model चलाने के लिए डिज़ाइन किया गया है.
- पहले यह केवल Google के Gemma 2 मॉडल को सपोर्ट करता था, लेकिन अब Llama 3.2 मॉडल और PHI-3.5 image model को भी सपोर्ट करता है.
-
तैयार मॉडल
- विभिन्न मॉडल और tokenizer के benchmark तथा download links उपलब्ध कराए गए हैं.
- Q8_0, Q4_0 quantized models के उपयोग की सिफारिश की गई है.
- गति 16-core AMD Epyc पर मापी गई है.
-
मॉडल रूपांतरण
- Google/Meta के मॉडलों को lmrs फ़ॉर्मेट में बदला जा सकता है.
- Python dependencies इंस्टॉल करने के बाद,
export.pyऔरtokenizer.pyस्क्रिप्ट का उपयोग करके मॉडल और tokenizer बदले जा सकते हैं.
-
बिल्ड
- Rust कोड को
cargoसे compile करके चलाया जा सकता है. - multimodal फीचर को सक्रिय करने के लिए
multimodalफीचर शामिल करना होगा.
- Rust कोड को
-
TODOs
- sampling methods जोड़ना.
- 9B और 27B मॉडल का परीक्षण.
- multi-head attention loop का parallelization.
- performance metrics जोड़ना.
- system prompt उपलब्ध कराने की सुविधा जोड़ना.
- quantization सपोर्ट (int8, int4).
# GN⁺ का सार
- lm.rs, Rust में CPU पर language model चलाने का एक कुशल तरीका प्रदान करता है. यह ML लाइब्रेरी के बिना भी संभव है, इसलिए हल्के वातावरण में उपयोगी है.
- यह Rust पहली बार उपयोग करने वाले डेवलपर्स के लिए भी उपयुक्त है, और कई मॉडलों को सपोर्ट करने के कारण इसकी extensibility अच्छी है.
- PHI-3.5 जैसे multimodal मॉडल के सपोर्ट से image processing क्षमता भी शामिल है.
- समान कार्यक्षमता वाले प्रोजेक्ट्स में Hugging Face की Transformers लाइब्रेरी शामिल है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
stdoutपर output न करने के लिए बेहतर बनाने की ज़रूरत हैunsafeके बिना implement किया जा सकता हैno dependencyजैसी अभिव्यक्ति गलतफ़हमी पैदा कर सकती हैhello world!बन सकता है