paint-brush
কিভাবে আপনার নিজের স্থানীয় LLM চালাবেন (2024 এর জন্য আপডেট করা হয়েছে)দ্বারা@thomascherickal
17,191 পড়া
17,191 পড়া

কিভাবে আপনার নিজের স্থানীয় LLM চালাবেন (2024 এর জন্য আপডেট করা হয়েছে)

দ্বারা Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

আর্টিকেলটি স্থানীয়ভাবে জেনারেটিভ এআই মডেল যেমন Hugging Face Transformers, gpt4all, Ollama এবং localllm ব্যবহার করার বিষয়ে বিস্তারিত নির্দেশিকা প্রদান করে। সৃজনশীল অ্যাপ্লিকেশন এবং উদ্ভাবনী সমাধানের জন্য কীভাবে এআই-এর শক্তিকে কাজে লাগাতে হয় তা শিখুন।

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - কিভাবে আপনার নিজের স্থানীয় LLM চালাবেন (2024 এর জন্য আপডেট করা হয়েছে)
Thomas Cherickal HackerNoon profile picture
0-item

https://wallpapers.com/wallpapers/theoretical-physics-green-particles-ht1c16rgtu5ilkhc.html থেকে


এটি জেনারেটিভ এআই-এর জন্য ব্রেকআউট বছর


আমরা হব; খুব কম বলতে, এই বছর আমি স্থানীয়ভাবে এলএলএম মডেল কীভাবে চালাতে পারি তা বেছে নেওয়ার জন্য নষ্ট হয়ে গেছি।


চল শুরু করি:


1) HuggingFace ট্রান্সফরমার:

সমস্ত ছবি বিং ইমেজ ক্রিয়েটর দ্বারা তৈরি

ইন্টারনেট অ্যাক্সেস ছাড়াই অফলাইনে আলিঙ্গন ফেস ট্রান্সফরমার চালাতে, এই পদক্ষেপগুলি অনুসরণ করুন: ইনস্টলেশনের সময় আপনি স্বয়ংক্রিয় আপডেটের উপর নির্ভর করবেন না তা নিশ্চিত করে প্রয়োজনীয় নির্ভরতা সহ ট্রান্সফরমারগুলি ইনস্টল করুন৷ Hugging Face ডকুমেন্টেশনে বর্ণিত হিসাবে আপনি pip বা conda এর মাধ্যমে ইনস্টল করতে পারেন


 pip install transformers==4.xy

ইন্টারনেট অ্যাক্সেস সহ Hugging Face Hub থেকে ডাউনলোড করার পরে আপনার স্থানীয় মেশিন থেকে পূর্বপ্রশিক্ষিত মডেলগুলি লোড করুন৷ 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


নিশ্চিত করুন যে সমস্ত প্রয়োজনীয় ফাইল ডিরেক্টরিতে উপস্থিত রয়েছে যেখানে আপনি আপনার স্ক্রিপ্টগুলি চালানোর পরিকল্পনা করছেন। মনে রাখবেন যে মডেলটি ইতিমধ্যে স্থানীয়ভাবে উপলব্ধ না হলে একা 1-এ TRANSFORMERS_OFFLINE সেট করা কাজ করবে না৷ আপনাকে অবশ্যই ইন্টারনেট অ্যাক্সেস সহ মডেলটি ডাউনলোড করতে হবে এবং স্থানীয়ভাবে সংরক্ষণ করতে হবে বা মডেল সংগ্রহস্থলটি ক্লোন করতে হবে।




2) gpt4all


gpt4all হল একটি ওপেন সোর্স প্রজেক্ট যা যে কেউ GPT-3 এর মত শক্তিশালী AI মডেলগুলি অ্যাক্সেস করতে এবং ব্যবহার করতে দেয়। এখানে gpt4all ইনস্টল এবং ব্যবহার করার জন্য ধাপে ধাপে নির্দেশাবলী রয়েছে:

  1. স্থাপন:
  • gpt4all-এর জন্য Python 3.7 বা উচ্চতর এবং কয়েকটি Python প্যাকেজ নির্ভরতা প্রয়োজন। gpt4all ইনস্টল করার সবচেয়ে সহজ উপায় হল পিপের মাধ্যমে:
 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) ওল্লাম্মা


Ollamma হল একটি ওপেন সোর্স লাইব্রেরি যা GPT-3 এর মত বড় ভাষার মডেলগুলিতে সহজে অ্যাক্সেস প্রদান করে। এখানে এর সিস্টেমের প্রয়োজনীয়তা, ইনস্টলেশন এবং ব্যবহারের বিশদ বিবরণ রয়েছে:

সিস্টেমের জন্য আবশ্যক:

  • Python 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)

জেনারেট পদ্ধতি আপনাকে আপনার অনুরোধ কনফিগার করতে ইঞ্জিন, প্রম্পট এবং সর্বোচ্চ টোকেনের মতো পরামিতিগুলি নির্দিষ্ট করতে দেয়।

আপনি সূক্ষ্ম-টিউন ইঞ্জিন, পরিমিত বিষয়বস্তু এবং আরও অনেক কিছু করতে পারেন। সমস্ত উপলব্ধ পদ্ধতির অতিরিক্ত বিবরণের জন্য Ollamma ডকুমেন্টেশন পড়ুন।

তাই সংক্ষেপে - একবার ইনস্টল এবং কনফিগার করা হলে ওলাম্মা পাইথন কোডের মাত্র কয়েকটি লাইনে GPT-3 এবং অন্যান্য মডেলের সুবিধা নেওয়া সত্যিই সহজ করে তোলে!


4) এলএম স্টুডিও


এলএম স্টুডিও একটি ওপেন সোর্স টুল যা স্থানীয়ভাবে অত্যাধুনিক ভাষার মডেল প্রশিক্ষণ, মূল্যায়ন এবং ব্যবহার করার প্রক্রিয়াকে স্ট্রিমলাইন করে। স্থানীয়ভাবে এলএম স্টুডিও চালানোর পদক্ষেপগুলি এখানে রয়েছে:


  1. স্থাপন:
    এলএম স্টুডিওর ডকার এবং ডকার কম্পোজ প্রয়োজন। স্থাপন করা:

ক আপনার মেশিনে ডকার ইঞ্জিন এবং ডকার কম্পোজ ইনস্টল করুন
খ. এলএম স্টুডিও গিটহাব সংগ্রহস্থল ক্লোন করুন:
git clone https://github.com/lm-studio/lm-studio.git


  1. কনফিগারেশন:
    এলএম স্টুডিও config/ ফোল্ডারের অধীনে কনফিগারেশন ফাইলের উপর নির্ভর করে। সাধারণ ফাইল অন্তর্ভুক্ত:

model.yaml : মডেল আর্কিটেকচার উল্লেখ করুন
খ. training.yaml : প্রশিক্ষণের পরামিতি সেট করুন
গ. evaluation.yaml : মূল্যায়ন সেটিংস সামঞ্জস্য করুন


  1. চলমান এলএম স্টুডিও:
    প্রধান ইন্টারফেসটি ডকার কম্পোজের মাধ্যমে। কিছু সাধারণ আদেশ:

ক বিল্ড ইমেজ: docker-compose build
খ. সমস্ত পরিষেবা শুরু করুন: docker-compose up -d
গ. লগগুলি দেখুন: docker-compose logs -f
d পরিষেবা বন্ধ করুন: docker-compose down


পরিষেবাগুলি বিভিন্ন পোর্ট প্রকাশ করে যা আপনি UI, API, নোটবুক এবং আরও অনেক কিছুর সাথে ইন্টারঅ্যাক্ট করতে ব্যবহার করতে পারেন।

তাই সংক্ষেপে, এলএম স্টুডিও স্থানীয় ভাষা মডেল পরীক্ষাকে স্ট্রিমলাইন করে। ব্যবহারকারীদের শুধু রেপো ক্লোন করতে হবে, সেটিংস ফাইল কনফিগার করতে হবে এবং প্রশিক্ষণ, মূল্যায়ন এবং মডেল ব্যবহার শুরু করতে সাধারণ ডকার কমান্ড ব্যবহার করতে হবে।


5) localllm


আমি খুঁজে পাই যে এটিই সবচেয়ে সুবিধাজনক এবং সহজ উপায়। সম্পূর্ণ ব্যাখ্যা নীচের লিঙ্কে দেওয়া হয়েছে:

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

সংক্ষিপ্ত:

ক্লাউড ওয়ার্কস্টেশনের সাথে মিলিত localllm আপনাকে Google ক্লাউড পরিবেশের মধ্যে CPU এবং মেমরিতে স্থানীয়ভাবে LLM ব্যবহার করতে দিয়ে AI-চালিত অ্যাপ্লিকেশন বিকাশে বিপ্লব ঘটায়। জিপিইউ-এর প্রয়োজনীয়তা দূর করে, আপনি জিপিইউ ঘাটতির কারণে সৃষ্ট চ্যালেঞ্জগুলি কাটিয়ে উঠতে পারেন এবং এলএলএম-এর সম্পূর্ণ সম্ভাবনাকে আনলক করতে পারেন। বর্ধিত উত্পাদনশীলতা, খরচ দক্ষতা এবং উন্নত ডেটা নিরাপত্তার সাথে, localllm আপনাকে সহজে উদ্ভাবনী অ্যাপ্লিকেশন তৈরি করতে দেয়


6) llamma.cpp

স্থানীয় প্রশিক্ষণ এবং অনুমানের জন্য 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 ক্লোন --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

আপনি যদি নিজের এক্সটেনশন তৈরি করেন, তাহলে আপনাকে PR এ এই তালিকায় জমা দিতে স্বাগত জানাই।

বহুদিনের স্মৃতি

একটি পরিশীলিত এক্সটেনশন যা চ্যাট মোডে বটগুলির জন্য একটি দীর্ঘমেয়াদী মেমরি তৈরি করে৷

https://github.com/wawawario2/long_term_memory

অলটক টিটিএস

AllTalk Coqui TTS ইঞ্জিনের উপর ভিত্তি করে তৈরি করা হয়েছে, যা Coqui_tts এক্সটেনশনের মতই টেক্সট জেনারেশন ওয়েবইউআইয়ের জন্য, তবে বিভিন্ন উন্নত বৈশিষ্ট্য সমর্থন করে।

  • কাস্টম স্টার্ট-আপ সেটিংস: আপনার ডিফল্ট স্টার্ট-আপ সেটিংস সামঞ্জস্য করুন। স্ক্রিনশট
  • বর্ণনাকারী: প্রধান চরিত্র এবং বর্ণনার জন্য বিভিন্ন কণ্ঠস্বর ব্যবহার করুন। উদাহরণ বর্ণনা
  • নিম্ন VRAM মোড: ছোট GPU মেমরি আছে বা আপনার VRAM আপনার LLM দ্বারা পূর্ণ হলে তাদের জন্য দুর্দান্ত। স্ক্রিনশট
  • ডিপস্পিড: একটি 3-4x পারফরম্যান্স বুস্ট TTS তৈরি করে। ডিপস্পিড উইন্ডোজ/লিনাক্স নির্দেশাবলী স্ক্রিনশট
  • স্থানীয়/কাস্টম মডেল: যে কোনো XTTSv2 মডেল ব্যবহার করুন (API স্থানীয় এবং XTTSv2 স্থানীয়)।
  • ঐচ্ছিক wav ফাইল রক্ষণাবেক্ষণ: পুরানো আউটপুট wav ফাইলগুলির কনফিগারযোগ্য মুছে ফেলা। স্ক্রিনশট
  • ভাল প্রজননের জন্য আপনার পছন্দের কণ্ঠে মডেলটিকে বিশেষভাবে প্রশিক্ষণ দিন
  • ডকুমেন্টেশন: একটি অন্তর্নির্মিত ওয়েবপেজ সহ সম্পূর্ণ নথিভুক্ত। স্ক্রিনশট
  • কনসোল আউটপুট যেকোনো সতর্কতা বা সমস্যার জন্য কমান্ড লাইন আউটপুট সাফ করুন।
  • API স্যুট এবং JSON কলের মাধ্যমে 3য় পক্ষ সমর্থন JSON কলের মাধ্যমে 3য় পক্ষের অ্যাপ্লিকেশনের সাথে ব্যবহার করা যেতে পারে।
  • শুধুমাত্র টেক্সট-জেনারেশন-ওয়েবুইয়ের ভিতরে নয় একটি স্বতন্ত্র অ্যাপ হিসাবে চালানো যেতে পারে

https://github.com/erew123/alltalk_tts

এজজিপিটি

আপনার বটের জন্য দ্রুত ইন্টারনেট অ্যাক্সেসের জন্য acheong08 দ্বারা EdgeGPT-এর উপর ভিত্তি করে টেক্সট জেনারেশন Webui-এর জন্য এক্সটেনশন।

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



উপসংহার?


এবং আরো আছে! আরও অনেক কিছু! LangChain, llm, ollamma, তালিকা শুধু বড় এবং বড় হতে থাকে!

এখানে সুন্দর সৃজনশীলতার একটি গৌরবময় বছর। চিয়ার্স!