Llamafile - एक ही फ़ाइल में LLM डिप्लॉय और रन करें
(github.com/Mozilla-Ocho)llamafile प्रोजेक्ट सारांश
- AI डेवलपर्स के उस सपने को साकार करने के लिए, जिसमें वे कहीं भी build और run कर सकें, llama.cpp और Cosmopolitan Libc को मिलाकर एक framework विकसित किया गया है
- llamafile अलग-अलग CPU microarchitecture और CPU architecture पर चल सकता है, और कई operating systems में एक ही build से code execution को सपोर्ट करता है
- LLM के weights को llamafile के भीतर शामिल करके direct memory mapping के जरिए तेज़ execution संभव होता है
बाइनरी उपयोग विधि
- Hugging Face के माध्यम से डाउनलोड किए जा सकने वाले कई models के example binaries उपलब्ध हैं
- command line binary को उसी तरह चलाया जाता है जैसे llama.cpp के
mainfunction को manually call किया जाता है - server binary एक local web server चलाकर web-based chatbot उपलब्ध कराता है
ध्यान देने योग्य बातें
- macOS पर Apple Silicon इस्तेमाल करते समय Xcode install होना आवश्यक है
- Windows में चलाने के लिए फ़ाइल का नाम
llamafile.exeरखना होगा - zsh, Python
subprocess, Fish आदि में execution समस्या आने पर alternative commands इस्तेमाल करने की सलाह दी जाती है - Linux में
binfmt_miscसमस्या होने पर उसका समाधान भी दिया गया है
GPU सपोर्ट
- Apple Silicon पर Xcode install होने पर यह अपने आप काम करता है
- Linux में Nvidia cuBLAS GPU support के लिए compiler install करना और flags सेट करना आवश्यक है
- Windows में पहली बार MSVC x64 native command prompt से चलाने के बाद CUDA path सेट करना होता है
source code build करने का तरीका
- cosmocc toolchain का उपयोग करके llamafile source code build करने की विधि बताई गई है
- libc function code generation और HTTP server चलाने के examples दिए गए हैं
zipalign दस्तावेज़
- PKZIP archive में aligned uncompressed files जोड़ने के लिए zipalign tool के उपयोग की व्याख्या की गई है
- यह मौजूदा ZIP archive tools की तुलना में तेज़ execution देता है और memory alignment requirements को पूरा करता है
तकनीकी विवरण
- llamafile shell script और weights को मिलाकर तेज़ execution संभव बनाने के लिए mmap() फीचर का उपयोग करता है
- ZIP weight inclusion, microarchitecture और architecture portability, तथा GPU support के लिए तकनीकी समाधान प्रस्तुत किए गए हैं
लाइसेंस
- llamafile प्रोजेक्ट Apache 2.0 license का उपयोग करता है, और llama.cpp में किए गए बदलावों पर MIT license लागू होता है
ज्ञात समस्याएँ
- 64-bit Windows में 4GB फ़ाइल आकार सीमा होने के कारण weights को अलग फ़ाइल के रूप में इस्तेमाल करना पड़ता है
GN⁺ की राय
इस लेख का सबसे महत्वपूर्ण बिंदु यह है कि AI डेवलपर्स कहीं भी आसानी से LLM build और run कर सकें, इसके लिए llamafile प्रोजेक्ट ने एक अभिनव तरीका अपनाया है। यह प्रोजेक्ट अलग-अलग platforms और architectures पर compatibility देता है, और weights सहित एक ही फ़ाइल में distribution संभव बनाकर usability को काफी बेहतर करता है। ऐसी तकनीकी प्रगति AI research और development को और तेज़ कर सकती है, इसलिए इस क्षेत्र में रुचि रखने वालों के लिए यह बेहद दिलचस्प सामग्री है।
1 टिप्पणियां
Hacker News की राय
LLaVA मॉडल का उपयोग कैसे करें
llamafile-server-0.1-llava-v1.5-7b-q4फ़ाइल डाउनलोड करेंhttp://127.0.0.1:8080/खोलें, इमेज अपलोड करें और मॉडल से बातचीत शुरू करेंmacOS ऐप डेवलपमेंट अनुभव साझा
Simon Willison की संबंधित पोस्ट की सिफारिश
संबंधित लिंक साझा
Llaminate नाम का सुझाव
Cosmopolitan का उपयोग करके CUDA support पर आश्चर्य
Windows में executable आकार सीमा का उल्लेख
llama.cpp में विभिन्न मॉडल आज़माने का तरीका साझा
केवल single model और weights पर चलने वाली binary की सीमितता की ओर इशारा
Justine की हैरान कर देने वाली प्रोजेक्ट बनाने की रफ़्तार का उल्लेख