Практичне використання 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 зосереджений на ефективному обслуговуванні моделей Hugging Face у продакшені з використанням функцій стрімінгу та відстеження. Порівняйте час відгуку та складність операцій з 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
Надішліть однаковий запит кожному серверу, зафіксуйте час виконання та кількість токенів/секунду, а потім вкажіть, який двигун підходить для вашого наступного проекту — демо-версія на ноутбуці, внутрішня система з GPU чи API для кількох користувачів.
Зробіть процес розгортання простим: скомпонуйте все разом, додайте перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати реальні графіки роботи.
Зробіть процес розгортання простим: скомпонуйте все разом, додайте перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати реальні графіки роботи.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.
Зробіть процес розгортання простим: використовуйте compose up, перевірки стану та єдине місце для заміни моделей. Саме простота допомагає внутрішнім інструментам витримувати роботу з реальними графіками чергування.