paint-brush
अपना खुद का स्थानीय एलएलएम कैसे चलाएं (2024 के लिए अपडेट किया गया)द्वारा@thomascherickal
19,583 रीडिंग
19,583 रीडिंग

अपना खुद का स्थानीय एलएलएम कैसे चलाएं (2024 के लिए अपडेट किया गया)

द्वारा Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

यह लेख हगिंग फेस ट्रांसफॉर्मर्स, gpt4all, Ollama और localllm जैसे जेनरेटिव AI मॉडल का स्थानीय रूप से उपयोग करने के बारे में विस्तृत मार्गदर्शन प्रदान करता है। रचनात्मक अनुप्रयोगों और अभिनव समाधानों के लिए AI की शक्ति का उपयोग करना सीखें।

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - अपना खुद का स्थानीय एलएलएम कैसे चलाएं (2024 के लिए अपडेट किया गया)
Thomas Cherickal HackerNoon profile picture
0-item

https://wallpapers.com/wallpapers/theoretical-physics-green-particles-ht1c16rgtu5ilkhc.html से


यह जनरेटिव एआई के लिए सफलता का वर्ष है


खैर; कम से कम इतना तो कहा ही जा सकता है कि इस वर्ष मेरे पास एलएलएम मॉडल को स्थानीय स्तर पर चलाने के लिए ढेरों विकल्प मौजूद हैं।


चलो शुरू करो:


1) हगिंगफेस ट्रांसफॉर्मर्स:

सभी छवियाँ Bing Image Creator द्वारा बनाई गई हैं

इंटरनेट एक्सेस के बिना हगिंग फेस ट्रांसफॉर्मर्स को ऑफ़लाइन चलाने के लिए, इन चरणों का पालन करें: ट्रांसफॉर्मर्स को आवश्यक निर्भरताओं के साथ इंस्टॉल करें, जबकि यह सुनिश्चित करें कि आप इंस्टॉलेशन के दौरान स्वचालित अपडेट पर निर्भर न हों। आप हगिंग फेस डॉक्यूमेंटेशन में बताए अनुसार पाइप या कोंडा के माध्यम से इंस्टॉल कर सकते हैं


 pip install transformers==4.xy

इंटरनेट एक्सेस के साथ हगिंग फेस हब से डाउनलोड करने के बाद अपने स्थानीय मशीन से प्रीट्रेन्ड मॉडल लोड करें। मॉडल को save_pretrained() का उपयोग करके सेव करें, और फिर बाद में इसे ऑफ़लाइन मोड में लोड करें।

 from transformers import AutoModelForSequenceClassification, BertTokenizerFast

पहली बार, मॉडल डाउनलोड करें और सेव करें

 model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") model.save_pretrained("/my/local/directory/bert-base-uncased")

बाद में, सहेजे गए मॉडल को ऑफ़लाइन लोड करें

 model = AutoModelForSequenceClassification.from_pretrained("/my/local/directory/bert-base-uncased") tokenizer = BertTokenizerFast.from_pretrained("/my/local/directory/bert-base-uncased")


ऑफ़लाइन उपयोग सक्षम करने के लिए पर्यावरण चर TRANSFORMERS_OFFLINE और HF_DATASETS_OFFLINE सेट करें।

 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1

यदि आप अलग-अलग फ़ाइलें डाउनलोड नहीं करना चाहते हैं तो मॉडल रिपोजिटरी को सीधे क्लोन करें।


 git clone https://huggingface.co/<username>/<repository> /my/local/directory


सुनिश्चित करें कि सभी आवश्यक फ़ाइलें उस निर्देशिका में मौजूद हैं जहाँ आप अपनी स्क्रिप्ट निष्पादित करने की योजना बना रहे हैं। याद रखें कि यदि मॉडल पहले से ही स्थानीय रूप से उपलब्ध नहीं है, तो TRANSFORMERS_OFFLINE को 1 पर सेट करना काम नहीं करेगा। आपको या तो इंटरनेट एक्सेस के साथ मॉडल डाउनलोड करना होगा और इसे स्थानीय रूप से सहेजना होगा या मॉडल रिपॉजिटरी को क्लोन करना होगा।




2) जीपीटी4ऑल


gpt4all एक ओपन-सोर्स प्रोजेक्ट है जो किसी को भी GPT-3 जैसे शक्तिशाली AI मॉडल तक पहुंचने और उपयोग करने की अनुमति देता है। gpt4all को इंस्टॉल करने और उपयोग करने के लिए चरण-दर-चरण निर्देश यहां दिए गए हैं:

  1. स्थापना:
  • gpt4all को Python 3.7 या उससे ऊपर के संस्करण और कुछ Python पैकेज निर्भरता की आवश्यकता होती है। gpt4all को स्थापित करने का सबसे आसान तरीका pip के माध्यम से है:
 pip install gpt4all
  1. API कुंजी प्राप्त करें:
  • gpt4all के ज़रिए मॉडल तक पहुँचने के लिए आपको API कुंजी की ज़रूरत होती है। आप https://platform.openai.com पर साइन अप करके मुफ़्त API कुंजी प्राप्त कर सकते हैं।
  1. प्रमाणीकरण सेट करें:
  • एक बार जब आपके पास API कुंजी आ जाए, तो अपने API कुंजी को मान के रूप में लेकर OPENAI_API_KEY नामक एक पर्यावरण चर सेट करें।
 export OPENAI_API_KEY="YOUR_API_KEY_HERE"
  1. gpt4all का उपयोग करें:
  • अब आप GPT-3 और अन्य मॉडलों तक पहुँचने के लिए पायथन में gpt4all का उपयोग करने के लिए तैयार हैं। यहाँ एक उदाहरण दिया गया है जो डेविंसी (GPT-3 का एक संस्करण) को पाठ के एक अंश को संक्षेप में प्रस्तुत करने के लिए प्रेरित करता है:
 from gpt4all import completions summary = completions.generate(engine="text-davinci-003", prompt="Summarize this text: [insert long text here]", max_tokens=50) print(summary.text)
  • विभिन्न मॉडलों का उपयोग करने के तरीके के अधिक उदाहरणों के लिए gpt4all दस्तावेज़ देखें


3) ओलम्मा


ओलम्मा एक ओपन सोर्स लाइब्रेरी है जो GPT-3 जैसे बड़े भाषा मॉडल तक आसान पहुँच प्रदान करती है। यहाँ इसकी सिस्टम आवश्यकताओं, इंस्टॉलेशन और उपयोग के बारे में विवरण दिए गए हैं:

सिस्टम आवश्यकताएं:

  • पायथन 3.7 या उच्चतर
  • अनुरोध लाइब्रेरी
  • मान्य OpenAI API कुंजी

स्थापना:

 pip install ollamma

उपयोग:

  1. API कुंजी सेट करें
 import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
  1. क्लाइंट को आयात करें और बनाएं
 from ollamma import Client client = Client()
  1. पाठ उत्पन्न करें
 response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)

जेनरेट विधि आपको अपने अनुरोध को कॉन्फ़िगर करने के लिए इंजन, प्रॉम्प्ट और अधिकतम टोकन जैसे पैरामीटर निर्दिष्ट करने की अनुमति देती है।

आप इंजन को फाइन-ट्यून कर सकते हैं, कंटेंट को मॉडरेट कर सकते हैं, और भी बहुत कुछ कर सकते हैं। सभी उपलब्ध तरीकों पर अतिरिक्त विवरण के लिए ओलम्मा दस्तावेज़ देखें।

संक्षेप में - ओलम्मा एक बार इंस्टॉल और कॉन्फ़िगर होने के बाद पायथन कोड की कुछ ही पंक्तियों में GPT-3 और अन्य मॉडलों का लाभ उठाना वास्तव में आसान बनाता है!


4) एलएम स्टूडियो


एलएम स्टूडियो एक ओपन सोर्स टूल है जो स्थानीय स्तर पर अत्याधुनिक भाषा मॉडल के प्रशिक्षण, मूल्यांकन और उपयोग की प्रक्रिया को सरल बनाता है। एलएम स्टूडियो को स्थानीय स्तर पर चलाने के लिए ये चरण दिए गए हैं:


  1. स्थापना:
    LM स्टूडियो को Docker और Docker Compose की आवश्यकता होती है। इंस्टॉल करने के लिए:

a. अपनी मशीन पर Docker Engine और Docker Compose इंस्टॉल करें
बी. एलएम स्टूडियो GitHub रिपॉजिटरी को क्लोन करें:
git clone https://github.com/lm-studio/lm-studio.git


  1. विन्यास:
    LM स्टूडियो config/ फ़ोल्डर के अंतर्गत कॉन्फ़िगरेशन फ़ाइलों पर निर्भर करता है। आम फ़ाइलों में शामिल हैं:

a. model.yaml : मॉडल आर्किटेक्चर निर्दिष्ट करें
b. training.yaml : प्रशिक्षण पैरामीटर सेट करें
c. evaluation.yaml : मूल्यांकन सेटिंग्स समायोजित करें


  1. एलएम स्टूडियो चलाना:
    मुख्य इंटरफ़ेस Docker Compose के माध्यम से है। कुछ सामान्य कमांड:

a. चित्र बनाएँ: docker-compose build
b. सभी सेवाएँ प्रारंभ करें: docker-compose up -d
c. लॉग देखें: docker-compose logs -f
d. सेवाएँ बंद करें: docker-compose down


ये सेवाएं विभिन्न पोर्ट्स प्रदान करती हैं जिनका उपयोग आप यूआई, एपीआई, नोटबुक्स आदि के साथ इंटरैक्ट करने के लिए कर सकते हैं।

तो संक्षेप में, LM स्टूडियो स्थानीय भाषा मॉडल प्रयोग को सरल बनाता है। उपयोगकर्ताओं को केवल रेपो को क्लोन करना होगा, सेटिंग्स फ़ाइलों को कॉन्फ़िगर करना होगा और मॉडल का प्रशिक्षण, मूल्यांकन और उपयोग शुरू करने के लिए सरल डॉकर कमांड का उपयोग करना होगा।


5) लोकलएलएलएम


मुझे लगता है कि यह सबसे सुविधाजनक और सरल तरीका है। नीचे दिए गए लिंक पर पूरी जानकारी दी गई है:

https://cloud.google.com/blog/products/application-development/new-localllm-lets-you-develop-gen-ai-apps-locally-without-gpus

संक्षेप:

क्लाउड वर्कस्टेशन के साथ मिलकर localllm आपको Google क्लाउड वातावरण में CPU और मेमोरी पर स्थानीय रूप से LLM का उपयोग करने की अनुमति देकर AI-संचालित एप्लिकेशन डेवलपमेंट में क्रांति लाता है। GPU की आवश्यकता को समाप्त करके, आप GPU की कमी से उत्पन्न चुनौतियों को दूर कर सकते हैं और LLM की पूरी क्षमता को अनलॉक कर सकते हैं। बढ़ी हुई उत्पादकता, लागत दक्षता और बेहतर डेटा सुरक्षा के साथ, localllm आपको आसानी से अभिनव एप्लिकेशन बनाने देता है


6) लाम्मा.सीपीपी

स्थानीय प्रशिक्षण और अनुमान के लिए Llama.cpp को स्थापित और उपयोग करने के लिए, इन चरणों का पालन करें:

निर्भरताएं स्थापित करें:

 Python 3 CMake Optional (for GPU acceleration) NVIDIA drivers, CUDA, and cuDNN For Windows, use Visual Studio Community with Desktop C++ Environment and Python 3 Clone the repository:

git clone --recursive https://github.com/abetlen/llama-cpp-python.git यदि आप GPU त्वरण का उपयोग करना चाहते हैं, तो पर्यावरण चर को रेपो में वर्णित अनुसार सेट करें (उदाहरण के लिए, लिनक्स पर):

 export CMAKE_ARGS="-DLLAMA_CUBLAS=ON" Install Llamma.cpp:

स्थानीय निर्माण और सिस्टम संकलन के लिए:

 cd llama-cpp-python pip install -e . For Windows, or if you want prebuilt binaries, consider the following: No GPU support: pip install llama-cpp-python[server]

वैकल्पिक रूप से, उच्च-स्तरीय इंटरफ़ेस का उपयोग करने के लिए, निम्न कमांड का उपयोग करें:

 python -m llama_cpp.server --model models/7B/llama-model.gguf With GPU support: set FORCE_CMAKE=1 set CMAKE_ARGS=-DLLAMA_CUBLAS=ON pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir

विंडोज़ के लिए उच्च-स्तरीय इंटरफ़ेस का उपयोग करना वैकल्पिक है:

 python -m llama_cpp.server --model "path/to/your/model" Download and place Llama models in the models/ subdirectory within the Llama.cpp repository if they are not included (models like llama-model.gguf or ggml-* files are available on Hugging Face or GGML).


स्थापना का परीक्षण करें:


 The llama_cpp/llama_cpp.py script provides a simple high-level interface in Python. Replace llama-model.gguf with your downloaded Llama model to test inference. If you want to train your own Llama model, you'll need to train it according to the official documentation and manually convert the GGML files into GGUF files (for GPU deployment).



7) ओबागूबा

यह लैंगचेन का उपयोग करके पाठ उत्पन्न करने के लिए वेबयूआई का एक ओपन सोर्स ग्रेडियो कार्यान्वयन है।


README.md फ़ाइल से कुछ अंश:

टेक्स्ट-जनरेशन-वेबयूआई-एक्सटेंशन

यह एक्सटेंशन की एक निर्देशिका है https://github.com/oobabooga/text-generation-webui

यदि आप अपना स्वयं का एक्सटेंशन बनाते हैं, तो आपका स्वागत है कि आप इसे पीआर में इस सूची में प्रस्तुत करें।

दीर्घकालीन स्मृति

एक परिष्कृत एक्सटेंशन जो चैट मोड में बॉट्स के लिए दीर्घकालिक मेमोरी बनाता है।

https://github.com/wawawario2/long_term_memory

ऑलटॉक टीटीएस

ऑलटॉक कोक्वी टीटीएस इंजन पर आधारित है, जो टेक्स्ट जेनरेशन वेबयूआई के लिए कोक्वी_टीटीएस एक्सटेंशन के समान है, हालांकि यह कई उन्नत सुविधाओं का समर्थन करता है।

  • कस्टम स्टार्ट-अप सेटिंग्स: अपनी डिफ़ॉल्ट स्टार्ट-अप सेटिंग्स समायोजित करें। स्क्रीनशॉट
  • वर्णनकर्ता: मुख्य पात्र और वर्णन के लिए अलग-अलग आवाज़ों का उपयोग करें। उदाहरण वर्णन
  • कम VRAM मोड: यह मोड उन लोगों के लिए बहुत अच्छा है जिनकी GPU मेमोरी छोटी है या यदि आपकी VRAM आपके LLM द्वारा भरी जाती है। स्क्रीनशॉट
  • डीपस्पीड: 3-4x प्रदर्शन वृद्धि उत्पन्न करने वाला TTS. डीपस्पीड विंडोज/लिनक्स निर्देश स्क्रीनशॉट
  • स्थानीय/कस्टम मॉडल: किसी भी XTTSv2 मॉडल (API स्थानीय और XTTSv2 स्थानीय) का उपयोग करें।
  • वैकल्पिक wav फ़ाइल रखरखाव: पुरानी आउटपुट wav फ़ाइलों का कॉन्फ़िगर करने योग्य विलोपन। स्क्रीनशॉट
  • बेहतर पुनरुत्पादन के लिए अपनी पसंद की आवाज पर मॉडल को विशेष रूप से प्रशिक्षित करें।
  • दस्तावेज़ीकरण: एक अंतर्निहित वेबपेज के साथ पूर्णतः प्रलेखित। स्क्रीनशॉट
  • कंसोल आउटपुट किसी भी चेतावनी या समस्या के लिए कमांड लाइन आउटपुट साफ़ करें।
  • JSON कॉल के माध्यम से API सुइट और तृतीय पक्ष समर्थन JSON कॉल के माध्यम से तृतीय पक्ष अनुप्रयोगों के साथ उपयोग किया जा सकता है।
  • इसे केवल टेक्स्ट-जनरेशन-वेबयूआई के अंदर ही नहीं, बल्कि एक स्टैंडअलोन ऐप के रूप में भी चलाया जा सकता है

https://github.com/erew123/alltalk_tts

एजGPT

आपके बॉट के लिए त्वरित इंटरनेट एक्सेस के लिए, acheong08 द्वारा EdgeGPT पर आधारित टेक्स्ट जेनरेशन वेबयूआई के लिए एक्सटेंशन।

https://github.com/GiusTex/EdgeGPT

XTTSv2

मुख्य रिपॉजिटरी में coqui_tts एक्सटेंशन का एक प्रकार। दोनों ही XTTSv2 मॉडल का उपयोग करते हैं, लेकिन इसमें *तारों के बीच* लिखे गए पाठ के लिए "वर्णनकर्ता" सुविधा है।

https://github.com/kanttouchthis/text_generation_webui_xtts

लेखकों के लिए खेल का मैदान

यह एक्सटेंशन एक स्वतंत्र उन्नत नोटबुक प्रदान करता है जो हमेशा शीर्ष टैब से मौजूद रहेगा। इसमें कई विशेषताएं हैं जो नोटबुक में नहीं पाई जाती हैं:

  • दो स्वतंत्र नोटबुक A और B जो मोड की परवाह किए बिना हमेशा मौजूद रहते हैं
  • इनलाइन निर्देश (पाठ के भीतर से ही प्रश्न पूछने या कार्य देने की क्षमता)
  • चुनें और डालें - अपने पाठ के मध्य में पाठ उत्पन्न करें
  • स्थायी स्मृति, संक्षेपण, व्याख्या
  • LoRA-Rama - LoRA चेकपॉइंट और उनके बीच स्विच करने की क्षमता दिखाता है
  • LoRA स्केलिंग (प्रायोगिक) - स्लाइडर का उपयोग करके LoRA प्रभाव को समायोजित करें

https://github.com/FartyPants/Playground

और वहां और भी बहुत कुछ है जिसे खोजा जा सकता है: देखें:

https://github.com/oobabooga/text-generation-webui-extensions



निष्कर्ष?


और भी बहुत कुछ है! और भी बहुत कुछ! लैंगचेन, एलएलएम, ओलम्मा, सूची बस बड़ी और बड़ी होती जा रही है!

सुंदर रचनात्मकता के एक शानदार वर्ष की शुभकामनाएं। चीयर्स!