/text-generation-webui

A gradio web UI for running Large Language Models like GPT-J 6B, OPT, GALACTICA, GPT-Neo, and Pygmalion.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Web UI da metin oluşturma

GPT-J 6B, OPT, GALACTICA, GPT-Neo, and Pygmalion. Gibi Büyük Dil Modellerini çalıştırmak için gradio web kullanıcı arabirimi

Amacı, AUTOMATIC1111/stable-diffusion-webui metin üretimi.

[Try it on Google Colab]

Image1 Image2
Image3 Image4

Özellikler

  • Açılır menüyü kullanarak farklı modeller arasında geçiş yapın.
  • OpenAI'nin oyun alanına benzeyen not defteri modu.
  • Konuşma ve rol oynama için sohbet modu.
  • GPT-4chan için güzel HTML çıktısı oluşturun.
  • Şunun için Markdown çıktısı oluştur:GALACTICA,LaTeX desteği dahil.
  • Destek için Pygmalion ve JSON veya TavernAI Karakter Kartı formatlarında özel karakterler (FAQ).
  • Gelişmiş sohbet özellikleri (resim gönder, TTS ile sesli yanıtlar al).
  • Metin çıktısını gerçek zamanlı olarak yayınlayın.
  • Metin dosyalarından parametre ön ayarlarını yükleyin.
  • Büyük modelleri 8 bit modunda yükleyin (buraya bakın, burası ve burası Windows kullanıyorsanız).
  • Büyük modelleri GPU'larınız, CPU'nuz ve diskiniz arasında bölün.
  • İşlemci modu.
  • FlexGen offload.
  • DeepSpeed ZeRO-3 offload.
  • API aracılığıyla yanıtları alın, with or without streaming.
  • RWKV modelini destekler.
  • Yazılım istemlerini destekler.
  • Suzantıları destekler.
  • Google Colab'da çalışır.

Kurulum seçeneği 1: conda

Bir terminal açın ve bu komutları birer birer kopyalayıp yapıştırın (zaten yoksa önce conda'yı yükleyin):

create conda -n textgen
enable conda textgen
conda install torchvision torchaudio pytorch-cuda=11.7 git -c pytorch -c nvidia
git clone https://github.com/oobabooga/text-generation-webui
cd text creation-webui
pip settings -r requirements.txt

Üçüncü satır, bir NVIDIA GPU'nuz olduğunu varsayar.

  • Bir AMD GPU'nuz varsa, üçüncü komutu bununla değiştirin:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.2
  • CPU modunda çalışıyorsanız, üçüncü komutu bununla değiştirin:
conda install pytorch torchvision torchaudio git -c pytorch

Kurulum seçeneği 2: tek tıkla yükleyiciler

oobabooga-windows.zip

oobabooga-linux.zip

Sadece yukarıdaki zip dosyasını indirin, ayıklayın ve "yükle" ye çift tıklayın. Web kullanıcı arayüzü ve tüm bağımlılıkları aynı klasöre kurulacaktır.

  • Bir modeli indirmek için "download-model" üzerine çift tıklayın.
  • Web kullanıcı arayüzünü başlatmak için "start-webui" üzerine çift tıklayın

Modelleri indirme

Modeller, models/model-name altına yerleştirilmelidir. Örneğin, GPT-J 6B için "models/gpt-j-6B".

Hugging Face

Hugging Face, modelleri indirmek için ana yerdir. Bunlar bazı dikkate değer örnekler:

download-model.py komut dosyasını kullanarak HF'den otomatik olarak bir model indirebilirsiniz:

python download-model.py organizasyonu/modeli

Örneğin:

piton indir-model.py facebook/opt-1.3b

Bir modeli manuel olarak indirmek istiyorsanız, ihtiyacınız olan tek şeyin json, txt ve pytorch*.bin (veya model*.safetensors) dosyaları olduğunu unutmayın. Kalan dosyalar gerekli değildir.

GPT-4chan

GPT-4chan Hugging Face'ten kapatıldı, bu yüzden başka bir yerden indirmeniz gerekiyor. İki seçeneğiniz var:

32 bit sürüm, yalnızca modeli CPU modunda çalıştırmayı düşünüyorsanız geçerlidir. Aksi takdirde, 16 bit sürümünü kullanmalısınız.

Modeli indirdikten sonra şu adımları izleyin:

  1. Dosyaları "models/gpt4chan_model_float16" veya "models/gpt4chan_model" altına yerleştirin.
  2. GPT-J 6B'nin config.json dosyasını aynı klasöre yerleştirin: config.json.
  3. GPT-J 6B'nin belirteç dosyalarını indirin (GPT-4chan'ı yüklemeye çalıştığınızda bunlar otomatik olarak algılanacaktır):
python download-model.py EleutherAI/gpt-j-6B --text-only

Web kullanıcı arayüzünü başlatma

conda textgen'i etkinleştir
piton sunucusu.py

Ardından göz atın

http://localhost:7860/?__theme=dark

İsteğe bağlı olarak, aşağıdaki komut satırı işaretlerini kullanabilirsiniz:

Bayrak Açıklama
"-h", "--yardım" bu yardım mesajını göster ve çık
--model MODEL Varsayılan olarak yüklenecek modelin adı.
--defter Web kullanıcı arayüzünü, çıktının girişle aynı metin kutusuna yazıldığı not defteri modunda başlatın.
--sohbet Web kullanıcı arayüzünü sohbet modunda başlatın.
--cai-sohbet Web kullanıcı arayüzünü, Character.AI'ye benzer bir stille sohbet modunda başlatın. img_bot.png veya img_bot.jpg dosyası server.py ile aynı klasörde bulunuyorsa, bu resim botun profil resmi olarak kullanılacaktır. Benzer şekilde, profil resminiz olarak img_me.png veya img_me.jpg kullanılacaktır.
--işlemci' Metin oluşturmak için CPU'yu kullanın.
--8bitlik yükleme Modeli 8 bit hassasiyetle yükleyin.
--bf16' Modeli bfloat16 hassasiyetiyle yükleyin. NVIDIA Ampere GPU gerektirir.
--oto-cihazlar Modeli otomatik olarak mevcut GPU(lar) ve CPU'ya bölün.
-disk Model, GPU'larınız ve CPU'nuz için çok büyükse, kalan katmanları diske gönderin.
--disk-cache-dir DISK_CACHE_DIR Disk önbelleğinin kaydedileceği dizin. Varsayılanlar "cache/" şeklindedir.
--gpu-bellek GPU_MEMORY [GPU_MEMORY ...] GiB'de GPU başına ayrılacak maksimum GPU belleği. Örnek: Tek bir GPU için "--gpu-memory 10", iki GPU için "--gpu-memory 10 5".
--cpu-bellek CPU_MEMORY Yükü boşaltılan ağırlıklar için tahsis edilecek GiB'deki maksimum CPU belleği. Tam sayı olmalıdır. Varsayılanlar 99'dur.
--flexgen FlexGen boşaltma kullanımını etkinleştirin.
--yüzde YÜZDE [YÜZDE ...] FlexGen: ayırma yüzdeleri. Boşluklarla ayrılmış 6 rakam olmalıdır (varsayılan: 0, 100, 100, 0, 100, 0).
--sıkıştır-ağırlık FlexGen: Ağırlığın sıkıştırılıp sıkıştırılmayacağı (varsayılan: Yanlış).
--iğne ağırlığı [PIN_WEIGHT] FlexGen: ağırlıkların sabitlenip sabitlenmeyeceği (bunun Yanlış olarak ayarlanması CPU belleğini %20 azaltır).
--deepspeed Transformers entegrasyonu aracılığıyla çıkarım için DeepSpeed ​​ZeRO-3 kullanımını etkinleştirin.
--nvme-offload-dir NVME_OFFLOAD_DIR DeepSpeed: ZeRO-3 NVME boşaltması için kullanılacak dizin.
--local_rank LOCAL_RANK DeepSpeed: Dağıtılmış kurulumlar için isteğe bağlı bağımsız değişken.
--rwkv-stratejisi RWKV_STRATEGY RWKV: Modeli yüklerken kullanılacak strateji. Örnekler: "işlemci fp32", "cuda fp16", "cuda fp16i8".
--rwkv-cuda-on' RWKV: Daha iyi performans için CUDA çekirdeğini derleyin.
--akış yok Metin çıktısını gerçek zamanlı olarak yayınlamayın. Bu, metin oluşturma performansını artırır.
--ayarlar SETTINGS_FILE Bu json dosyasından varsayılan arayüz ayarlarını yükleyin. Örnek için "settings-template.json"a bakın. settings.json adlı bir dosya oluşturursanız, bu dosya --settings bayrağını kullanmaya gerek kalmadan varsayılan olarak yüklenir.
--uzantılar UZANTILAR [UZANTILAR ...] Yüklenecek uzantıların listesi. Birden fazla uzantı yüklemek istiyorsanız, adları boşluklarla ayırarak yazın.
--dinle Web kullanıcı arabiriminin yerel ağınızdan erişilebilir olmasını sağlayın.
--listen-port LISTEN_PORT Sunucunun kullanacağı dinleme bağlantı noktası.
--paylaş Herkese açık bir URL oluşturun. Bu, web kullanıcı arayüzünü Google Colab veya benzeri bir yerde çalıştırmak için kullanışlıdır.
--ayrıntılı Bilgi istemlerini terminale yazdırın.

Bellek yetersiz hataları? Bu kılavuzu kontrol edin.

Ön ayarlar

Çıkarım ayarları hazır ayarları, "ön ayarlar/" altında metin dosyaları olarak oluşturulabilir. Bu dosyalar başlangıçta otomatik olarak algılanır.

Varsayılan olarak, NovelAI ve KoboldAI tarafından sağlanan 10 ön ayar dahildir. Bunlar, bir K-Means kümeleme algoritması uygulandıktan ve her kümenin ortalamasına en yakın öğeler seçildikten sonra 43 ön ayar örneğinden seçildi.

Sistem gereksinimleri

Hem GPU hem de CPU modunda VRAM ve RAM kullanımına ilişkin bazı örnekler için wiki sayfasına bakın.

Katkı

Çekme istekleri, öneriler ve sorun raporları memnuniyetle karşılanır.

Bir hatayı bildirmeden önce, bir conda ortamı oluşturduğunuzdan ve bağımlılıkları tam olarak yukarıdaki Kurulum bölümündeki gibi kurduğunuzdan emin olun.

Bu sorunlar bilinmektedir:

  • 8-bit, Windows veya daha eski GPU'larda düzgün çalışmaz.
  • DeepSpeed, Windows'ta düzgün çalışmıyor.

Bu ikisi için lütfen yeni bir sorun oluşturmak yerine mevcut bir sorun hakkında yorum yapmayı deneyin.

Kredi