paint-brush
Kendi Yerel LLM'nizi Nasıl Yönetirsiniz (2024 için Güncellendi)ile@thomascherickal
17,060 okumalar
17,060 okumalar

Kendi Yerel LLM'nizi Nasıl Yönetirsiniz (2024 için Güncellendi)

ile Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Makalede Hugging Face Transformers, gpt4all, Ollama ve localllm gibi Üretken Yapay Zeka modellerinin yerel olarak kullanımına ilişkin ayrıntılı kılavuzlar sunulmaktadır. Yaratıcı uygulamalar ve yenilikçi çözümler için yapay zekanın gücünden nasıl yararlanacağınızı öğrenin.

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Kendi Yerel LLM'nizi Nasıl Yönetirsiniz (2024 için Güncellendi)
Thomas Cherickal HackerNoon profile picture
0-item

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


Bu, Üretken Yapay Zeka için çıkış yılıdır


Kuyu; En azından söylemek gerekirse, bu yıl bir Yüksek Lisans Modelini yerel olarak nasıl çalıştıracağım konusunda seçim yapmakta zorlandım.


Hadi başlayalım:


1) Sarılma Yüz Transformatörleri:

Bing Image Creator Tarafından Oluşturulan Tüm Görseller

Hugging Face Transformers'ı internet erişimi olmadan çevrimdışı çalıştırmak için şu adımları izleyin: Transformers'ı gerekli bağımlılıklarla yükleyin ve kurulum sırasında otomatik güncellemelere güvenmediğinizden emin olun. Hugging Face belgelerinde açıklandığı gibi pip veya conda aracılığıyla kurulum yapabilirsiniz.


 pip install transformers==4.xy

Önceden eğitilmiş modelleri internet erişimi olan Hugging Face Hub'dan indirdikten sonra yerel makinenizden yükleyin. Modeli save_pretrained() kullanarak kaydedin ve daha sonra çevrimdışı modda yükleyin.

 from transformers import AutoModelForSequenceClassification, BertTokenizerFast

İlk kez modeli indirip kaydedin

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

Daha sonra kaydedilen modeli çevrimdışına yükleyin

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


Çevrimdışı kullanımı etkinleştirmek için TRANSFORMERS_OFFLINE ve HF_DATASETS_OFFLINE ortam değişkenlerini ayarlayın.

 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1

Tek tek dosyaları indirmemeyi tercih ediyorsanız model deposunu doğrudan klonlayın.


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


Komut dosyalarınızı çalıştırmayı planladığınız dizinde gerekli tüm dosyaların bulunduğundan emin olun. Model zaten yerel olarak mevcut değilse, TRANSFORMERS_OFFLINE'ı yalnızca 1 olarak ayarlamanın işe yaramayacağını unutmayın. Modeli internet erişimiyle indirip yerel olarak kaydetmeniz veya model deposunu klonlamanız gerekir.




2) gpt4all


gpt4all, herkesin GPT-3 gibi güçlü yapay zeka modellerine erişmesine ve kullanmasına olanak tanıyan açık kaynaklı bir projedir. İşte gpt4all'ı yüklemek ve kullanmak için adım adım talimatlar:

  1. Kurulum:
  • gpt4all, Python 3.7 veya üzerini ve birkaç Python paketi bağımlılığını gerektirir. Gpt4all'ı kurmanın en kolay yolu pip kullanmaktır:
 pip install gpt4all
  1. Bir API Anahtarı edinin:
  • Modellere gpt4all aracılığıyla erişmek için bir API anahtarına ihtiyacınız var. https://platform.openai.com adresinden kaydolarak ücretsiz bir API anahtarı alabilirsiniz.
  1. Kimlik Doğrulamayı Ayarlayın:
  • API anahtarınızı aldıktan sonra OPENAI_API_KEY adlı bir ortam değişkenini değer olarak API anahtarınızla ayarlayın.
 export OPENAI_API_KEY="YOUR_API_KEY_HERE"
  1. gpt4all'ı kullanın:
  • Artık GPT-3 ve diğer modellere erişmek için Python'da gpt4all'ı kullanmaya hazırsınız. İşte Davinci'yi (GPT-3'ün bir versiyonu) bir metin pasajını özetlemeye yönlendiren bir örnek:
 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)
  • Farklı modellerin nasıl kullanılacağına ilişkin daha fazla örnek için gpt4all belgelerine bakın.


3) olamam


Ollamma, GPT-3 gibi büyük dil modellerine kolay erişim sağlayan açık kaynaklı bir kütüphanedir. Sistem gereksinimleri, kurulumu ve kullanımına ilişkin ayrıntılar şunlardır:

Sistem gereksinimleri:

  • Python 3.7 veya üzeri
  • Kitaplık isteği
  • Geçerli OpenAI API anahtarı

Kurulum:

 pip install ollamma

Kullanımı:

  1. API anahtarını ayarla
 import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
  1. İstemciyi içe aktarın ve oluşturun
 from ollamma import Client client = Client()
  1. Metin oluştur
 response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)

Oluşturma yöntemi, isteğinizi yapılandırmak için motoru, istemi ve maksimum belirteç gibi parametreleri belirtmenize olanak tanır.

Ayrıca motorlara ince ayar yapabilir, içeriği denetleyebilir ve daha fazlasını yapabilirsiniz. Mevcut tüm yöntemlere ilişkin ek ayrıntılar için Ollamma belgelerine bakın.

Özetle - Ollamma, yüklendikten ve yapılandırıldıktan sonra yalnızca birkaç satırlık Python koduyla GPT-3 ve diğer modellerden yararlanmayı gerçekten kolaylaştırıyor!


4) LM Stüdyosu


LM Studio, en son teknolojiye sahip dil modellerini yerel olarak eğitme, değerlendirme ve kullanma sürecini kolaylaştıran açık kaynaklı bir araçtır. LM Studio'nun yerel olarak çalışmasını sağlamanın adımları şunlardır:


  1. Kurulum:
    LM Studio, Docker ve Docker Compose'u gerektirir. Yüklemek:

A. Makinenize Docker Engine ve Docker Compose'u yükleyin
B. LM Studio GitHub deposunu klonlayın:
git clone https://github.com/lm-studio/lm-studio.git


  1. Yapılandırma:
    LM Studio, config/ klasörü altındaki yapılandırma dosyalarını kullanır. Ortak dosyalar şunları içerir:

A. model.yaml : model mimarilerini belirtin
B. training.yaml : eğitim parametrelerini ayarlayın
C. evaluation.yaml : değerlendirme ayarlarını düzenleyin


  1. LM Studio'yu Çalıştırma:
    Ana arayüz Docker Compose aracılığıyladır. Bazı yaygın komutlar:

A. Görüntüler oluşturun: docker-compose build
B. Tüm hizmetleri başlat: docker-compose up -d
C. Günlükleri görüntüle: docker-compose logs -f
D. Hizmetleri durdurun: docker-compose down


Hizmetler, kullanıcı arayüzü, API'ler, not defterleri ve daha fazlasıyla etkileşimde bulunmak için kullanabileceğiniz çeşitli bağlantı noktalarını kullanıma sunar.

Özetle, LM Studio yerel dil modeli denemelerini kolaylaştırıyor. Kullanıcıların modelleri eğitmeye, değerlendirmeye ve kullanmaya başlamak için repoyu kopyalaması, ayar dosyalarını yapılandırması ve basit Docker komutlarını kullanması yeterlidir.


5) yerel


Bunun en uygun ve basit yol olduğunu düşünüyorum. Açıklamanın tamamı aşağıdaki linkte yer almaktadır:

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

Özetlenmiş:

localllm Cloud Workstations ile bir araya gelerek, Google Cloud ortamında CPU ve bellek üzerinde yerel olarak LLM'leri kullanmanıza olanak tanıyarak yapay zeka odaklı uygulama geliştirmede devrim yaratıyor. GPU ihtiyacını ortadan kaldırarak, GPU kıtlığının yarattığı zorlukların üstesinden gelebilir ve Yüksek Lisans'ın tüm potansiyelini ortaya çıkarabilirsiniz. Gelişmiş üretkenlik, maliyet verimliliği ve iyileştirilmiş veri güvenliğiyle localllm, yenilikçi uygulamaları kolaylıkla oluşturmanıza olanak tanır


6) llamma.cpp

Yerel eğitim ve çıkarım amacıyla Llama.cpp'yi yüklemek ve kullanmak için şu adımları izleyin:

Bağımlılıkları yükleyin:

 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 hızlandırmayı kullanmak istiyorsanız ortam değişkenini depoda açıklandığı gibi ayarlayın (örneğin, Linux'ta):

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

Yerel derleme ve sistem derlemesi için:

 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]

İsteğe bağlı olarak, yüksek seviyeli bir arayüz kullanmak için şu komutu kullanın:

 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

Windows için üst düzey bir arayüz kullanmak isteğe bağlıdır:

 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).


Kurulumu test edin:


 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) Oobagooba

Bu, langchain kullanarak metin oluşturmak için bir webui'nin açık kaynaklı kademeli uygulamasıdır.


README.md dosyasından bazı alıntılar:

metin oluşturma-webui-uzantılar

Bu, aşağıdakiler için bir uzantı dizinidir: https://github.com/oobabooga/text-jenerasyon-webui

Kendi uzantınızı oluşturursanız, bunu bir PR ile bu listeye gönderebilirsiniz.

uzun süreli hafıza

Sohbet modunda botlar için uzun süreli hafıza oluşturan gelişmiş bir uzantı.

https://github.com/wawawario2/long_term_memory

AllTalk TTS

AllTalk, Metin oluşturma web kullanıcı arayüzü için Coqui_tts uzantısına benzer şekilde Coqui TTS motorunu temel alır, ancak çeşitli gelişmiş özellikleri destekler.

  • Özel Başlangıç Ayarları: Varsayılan başlangıç ayarlarınızı yapın. Ekran görüntüsü
  • Anlatıcı: Ana karakter ve anlatım için farklı sesler kullanın. Örnek Anlatım
  • Düşük VRAM modu: Küçük GPU belleği olan kişiler için veya VRAM'ınız Yüksek Lisansınız tarafından dolduruluyorsa idealdir. Ekran görüntüsü
  • DeepSpeed: TTS üreten 3-4 kat performans artışı. DeepSpeed Windows/Linux Talimatları Ekran görüntüsü
  • Yerel/Özel modeller: XTTSv2 modellerinden herhangi birini kullanın (API Yerel ve XTTSv2 Yerel).
  • İsteğe bağlı wav dosyası bakımı: Eski çıktı wav dosyalarının yapılandırılabilir şekilde silinmesi. Ekran görüntüsü
  • İnce ayar Daha iyi ses üretimi için modeli özellikle seçtiğiniz bir sese göre eğitin.
  • Dokümantasyon: Yerleşik bir web sayfasıyla tamamen belgelenmiştir. Ekran görüntüsü
  • Konsol çıkışı Herhangi bir uyarı veya sorun için komut satırı çıkışını temizleyin.
  • JSON çağrıları aracılığıyla API Suite ve 3. Parti desteği JSON çağrıları yoluyla 3. parti uygulamalarla kullanılabilir.
  • Bağımsız bir uygulama olarak çalıştırılabilir Yalnızca metin oluşturma-webui'nin içinde değil.

https://github.com/erew123/alltalk_tts

EdgeGPT

Botunuz için hızlı bir İnternet erişimi sağlamak üzere acheong08'in EdgeGPT tabanlı Metin Oluşturma Webui uzantısı.

https://github.com/GiusTex/EdgeGPT

XTTSv2

Ana depodaki coqui_tts uzantısının bir çeşidi. Her ikisi de XTTSv2 modelini kullanır, ancak bu modelin *yıldız işaretleri arasına* yazılan metinler için bir "anlatıcı" özelliği vardır.

https://github.com/kanttouchthis/text_jenerasyon_webui_xtts

Yazarlar için Oyun Alanı

Bu uzantı, her zaman üst sekmede bulunacak bağımsız, gelişmiş bir dizüstü bilgisayar sağlar. Dizüstü bilgisayarda bulunmayan birçok özelliğe sahiptir:

  • Moddan bağımsız olarak her zaman mevcut olan iki bağımsız Not Defteri A ve B
  • Satır içi talimat (metnin içinden soru sorma veya görev verme yeteneği)
  • Seç ve Ekle - metninizin ortasında metin oluşturun
  • Kalıcı Bellek, Özetleme, Açımlama
  • LoRA-Rama - LoRA kontrol noktalarını ve bunlar arasında geçiş yapma yeteneğini gösterir
  • LoRA ölçeklendirme (deneysel) - bir kaydırıcı kullanarak LoRA etkisini ayarlayın

https://github.com/FartyPants/Playground

Ve keşfedecek çok daha fazlası var: Şuna göz atın:

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



Çözüm?


Ve dahası da var! Çok daha fazla! LangChain, llm, ollamma, liste gittikçe büyüyor!

İşte güzel yaratıcılıkla dolu muhteşem bir yıl. Şerefe!