Qwen LLM

Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał

Czym jest Qwen? #

To organizacja Qwen, czyli rodziny dużych modeli językowych stworzonej przez Alibaba Cloud. W ramach tej organizacji nieustannie publikujemy duże modele językowe (LLM), duże modele multimodalne (LMM) i inne projekty związane z AGI. Sprawdźcie je i miłej zabawy!

Jakie modele udostępniają? #

Od 2023 roku udostępniają szeroką gamę modeli. Pierwotny model nazywał się po prostu Qwen i nadal można go znaleźć na GitHubie. Obecny model Qwen2.5 ma własne repozytorium, również na GitHubie. Modele ogólnego przeznaczenia to po prostu Qwen, ale są też modele wyspecjalizowane w kodzie. Są też wersje Math, Audio i kilka innych.

Uwaga od twórców:

Nie zalecamy używania bazowych modeli językowych do konwersacji. Zamiast tego można zastosować na tym modelu post-training, np. SFT, RLHF, kontynuację pretrainingu itp., albo zadania typu fill-in-the-middle.

Mimo to wypróbowałem następujące modele, bo mogę:

  • Qwen/Qwen-7B: 15 GB modelu, 31 GB w RAM
  • Qwen/Qwen2-0.5B, 1 GB modelu, 4 GB w RAM
  • Qwen/Qwen2.5-Coder-1.5B, 3 GB modelu, 7 GB w RAM

Tak, te modele można uruchamiać wyłącznie w pamięci, a nie na GPU. Będzie to znacznie wolniejsze, ale działa.

Jak uruchomić? #

Żeby zweryfikować źródło danych użytych do treningu, możemy chyba zadać pytanie z konkretnej dziedziny:

Python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2.5-Coder-1.5B"

tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)

input_text = "How to install Proxmox on Hetzner bare-metal server?"
inputs = tokenizer(input_text, return_tensors="pt")

outputs = model.generate(**inputs, max_new_tokens=200)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)

print(generated_text)

Ten model korzysta z architektury Qwen2ForCausalLM i jest udostępniony na licencji Apache 2.0. Aby go uruchomić, potrzebujemy kilku dodatkowych pakietów Pythona:

Text
transformers>=4.32.0,<4.38.0
accelerate
tiktoken
einops
transformers_stream_generator==0.0.4
scipy

Skąd wziął dane? #

Oto odpowiedź na zadane pytanie „How to install Proxmox on Hetzner bare-metal server?”

Bash
wget https://enterprise.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
echo "deb http://enterprise.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-enterprise.list
apt-get update
apt-get install proxmox-ve

Sugeruje instalację Proxmoxa 6, mimo że w 2024 roku nawet Proxmox 7 jest już przestarzały. Co więcej, sugeruje użycie Debiana Buster i konkretnej konfiguracji sprzętowej z 16 GB RAM i 2 dyskami HDD po 1TB. Wygląda to na coś z jakiegoś forum, StackExchange albo StackOverflow. Może to być też kompilacja lub tłumaczenie kilku innych źródeł, na co wskazuje niewielki rozmiar modelu.

Text
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package proxmox-ve

To oczywiste: to rzecz działająca offline. Bardzo ciekawe, że mimo to wciąż próbuje odpowiedzieć, nawet jeśli nieprecyzyjnie.

Wersja Markdown

Wszystkie treści na tej stronie są udostępniane na licencji Uznanie autorstwa – Użycie niekomercyjne – Bez utworów zależnych 4.0 Międzynarodowe (CC BY-NC-ND 4.0). Cytuj jako: Michał Sobczak, „Qwen LLM”, 10 marca 2025, https://michalasobczak.pl/pl/posts/qwen-llm.html