Практычныя падходы да адпрацоўкі LLM: Ollama, vLLM і TGI
Слою выдачы, які ператвараець файлы модэляў у API LLM: Ollama для працы на локальных прыстроях, vLLM і Hugging Face TGI для GPU, а таксама тое, чаго не хапяць у звычных трансфармэрах.
Сервары для апрацоўкі: слой пад “простаў вызваць модэль”
Вы ўжо вызывалі модэлі — часта праз Ollama. У цым кераванні йдзе пра сервар аналізу: ён завантажвае вагі, карыстаецца памяцю GPU, агрупавае заданні і транслюе токены, так што многі кліянты можаць выкарыстоўваць аднойчы той самы API. Трое назв, якія вы будзеце часта чуць: Ollama, vLLM і TGI (Text Generation Inference).
Эксперыменты з Ollama працуюць нормальна на CPU ноутбука. vLLM і TGI выклікаюць патрэбу ў GPU — Colab або Kaggle падойду, калі у вас яго няма. Спрыйміце гэта як практычны курс: запускайце блакі, выкананыя задачы.
Чаму просты transformers не ўважаецца серварам
Завантажэнне мадэлі і вызыв .generate() працюе для аднаго повольнага запіту. Пад высокай навантажэнням ён перастае працаваць: няма стабільнага групавання запітоў, слабкая планаванне выкарыстоўвання памяці, проблемы з мнагакорыстаўчым стрымінгам. Сервісныя двойкі створаны, каб ператварыць “файл мадэлі” у “API”.
Ollama — спачатку локальна
Інсталюйце, запускайце і выкарыстоўвайце HTTP API:
ollama pull llama3.2
ollama serve # usually already running; serves on http://localhost:11434
from openai import OpenAI # pip install openai
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama") # key is ignored locally
resp = client.chat.completions.create(
model="llama3.2",
messages=[{"role": "user", "content": "Explain KV cache in one sentence."}],
)
print(resp.choices[0].message.content)
Ўжывайце яго, каб выучыцца пра фарматы запітоў і стварыць дапрынты без неабходнасці воблаковых ключоў. Знайшоўце яго меры, калі вам патрэбна планавання на рэвэрсе цэлая група машын.
vLLM — сервісаванне на GPU з падтрымкай групавання
Пад час працы на GPU:
pip install vllm
vllm serve meta-llama/Llama-3.1-8B-Instruct # OpenAI-compatible server on :8000
Ключовыя моменты — гэта канцэнтры, сумесныя з OpenAI, і стабільнае групавання запітоў. Следзіце за выкарыстоўванням памяці GPU і параметрамі максымальнага кантэксту.
TGI — сервісная структура Hugging Face
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 8000:8000 --ipc=host \
vllm/vllm-openai:latest \
--model meta-llama/Llama-3.1-8B-Instruct
TGI спецыялізуецца на сервісаванні модэляў HF у працоўным рэжыме з падтрымкай стрымінгу і трэйсінгу. Пораўняйце час адпаведзення і складнасьць аперацый з vLLM для вашых модэляў.
Мадэль мышлення парадоксальна
client = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy") # ← base_url changed
resp = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct", # ← model changed
messages=[{"role": "user", "content": "Explain KV cache in one sentence."}],
)
print(resp.choices[0].message.content)
- Ollama: DX і локальная ітэрацыя
- vLLM: токены/секунду на NVIDIA пад час канкерэнсы
- TGI: аптарбатаванне, спрамованае на HF
Ваша чарга
docker run --gpus all --shm-size 1g -p 8080:80 \
-v ~/.cache/huggingface:/data \
ghcr.io/huggingface/text-generation-inference:latest \
--model-id meta-llama/Llama-3.1-8B-Instruct
Падаюце той самы запрос к кожнаму серверу, зазначаюце TTFT і токены/секунду, а потым пішыце, які механізм падходзіць для вашага наступнага праекту — дэман на ноутбуке, внутранняя GPU-сістэма чы ўніверсальны API.
Зробіце развёртванне простым: наладзіце компонаванне, пераканальвання стану і адзін месца для змены модэляў. Самэ простасць — гэта тое, што дапамагае внутранім інструментам выжыць пад час работы з рэальнымі графікамі выканання задач.
Зробіце развёртванне простым: наладзіце компонаванне, пераканальвання стану і адзін месца для змены модэляў. Самэ простасць — гэта тое, што дапамагае внутранім інструментам выжыць пад час работы з рэальнымі графікамі выканання задач.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўвайце адну пазічку для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: наладжыце складанне, пераконтролюйце стан і выкорыстоўваце адну локацію для замены модэляў. Самэ гэта і дапамагае внутршнім інструментам выжыць пад час вярагання з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: выкорыстоўваюце compose up, перагляд стану і адзін месца для замены модэлей. Самэльва толькі так внутршні інструменты можаць вытрымаць контакт з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: выкорыстоўваюце compose up, перагляд стану і адзін месца для замены модэлей. Самэльва толькі так внутршні інструменты можаць вытрымаць контакт з рэальнымі графікамі работы.
Зробіце працэс развярання нудным: выкорыстоўваюце compose up, перагляд стану і адзін месца для замены модэлей. Самэльва толькі так внутршні інструменты можаць вытрымаць контакт з рэальнымі графікамі работы.