# Llama 3.3 70B

{% hint style="info" %}
**Доступна более новая версия!** Meta выпустила [**Llama 4**](/guides/guides_v2-ru/yazykovye-modeli/llama4.md) в апреле 2025 года с архитектурой MoE — Scout (17B активных, помещается на RTX 4090) обеспечивает сопоставимое качество при доле VRAM. Рассмотрите возможность обновления.
{% endhint %}

Последняя и самая эффективная модель Meta 70B на GPU CLORE.AI.

{% hint style="success" %}
Все примеры можно запускать на GPU-серверах, арендуемых через [CLORE.AI Marketplace](https://clore.ai/marketplace).
{% endhint %}

## Почему Llama 3.3?

* **Лучшая модель 70B** - Соответствует производительности Llama 3.1 405B при небольшой стоимости
* **Мультиязычность** - Поддерживает 8 языков нативно
* **Контекст 128K** - Обработка длинных документов
* **Открытые веса** - Бесплатно для коммерческого использования

## Обзор модели

| Характеристики      | Значение                       |
| ------------------- | ------------------------------ |
| Параметры           | 70B                            |
| Длина контекста     | 128K токенов                   |
| Данные для обучения | 15T+ токенов                   |
| Языки               | EN, DE, FR, IT, PT, HI, ES, TH |
| Лицензия            | Лицензия Llama 3.3 Community   |

### Производительность по сравнению с другими моделями

| Бенчмарк        | Llama 3.3 70B | Llama 3.1 405B | GPT-4o |
| --------------- | ------------- | -------------- | ------ |
| MMLU            | 86.0          | 87.3           | 88.7   |
| HumanEval       | 88.4          | 89.0           | 90.2   |
| MATH            | 77.0          | 73.8           | 76.6   |
| Мультиязычность | 91.1          | 91.6           | -      |

## Требования к GPU

| Настройка          | VRAM   | Производительность | Стоимость                |
| ------------------ | ------ | ------------------ | ------------------------ |
| Квантизировано Q4  | 40GB   | Хорошо             | A100 40GB (\~$0.17/ч)    |
| Квантизировано Q8  | 70GB   | Лучше              | A100 80GB (\~$0.25/ч)    |
| FP16 полноформатно | 140 ГБ | Лучшее             | 2x A100 80GB (\~$0.50/ч) |

**Рекомендуется:** A100 40GB с квантизацией Q4 для лучшего соотношения цена/производительность.

## Быстрое развертывание на CLORE.AI

### Использование Ollama (Проще всего)

**Docker-образ:**

```
ollama/ollama
```

**Порты:**

```
22/tcp
11434/http
```

**После развертывания:**

```bash
ollama pull llama3.3
ollama run llama3.3
```

### Использование vLLM (Продакшн)

**Docker-образ:**

```
vllm/vllm-openai:latest
```

**Порты:**

```
22/tcp
8000/http
```

**Команда:**

```bash
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.3-70B-Instruct \
    --tensor-parallel-size 1 \
    --max-model-len 32768 \
    --host 0.0.0.0
```

## Доступ к вашему сервису

После развертывания найдите ваш `http_pub` URL в **Моих заказах**:

1. Перейдите на **Моих заказах** страницу
2. Нажмите на ваш заказ
3. Найдите `http_pub` URL (например, `abc123.clorecloud.net`)

Используйте `https://YOUR_HTTP_PUB_URL` вместо `localhost` в примерах ниже.

## Методы установки

### Метод 1: Ollama (Рекомендуется для тестирования)

```bash
# Установите Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Загрузить Llama 3.3 (автозагрузка версии Q4)
ollama pull llama3.3

# Запустить интерактивно
ollama run llama3.3

# Или запустить API
ollama serve
```

**Использование API:**

```bash
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.3",
  "prompt": "Объясните квантовые вычисления простыми словами"
}'
```

### Метод 2: vLLM (Продакшн)

```bash
pip install vllm

# Одна GPU (A100 40GB с квантизацией AWQ)
python -m vllm.entrypoints.openai.api_server \
    --model casperhansen/llama-3.3-70b-instruct-awq \
    --quantization awq \
    --max-model-len 16384 \
    --host 0.0.0.0

# Мульти-GPU (2x A100 для полной точности)
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.3-70B-Instruct \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --host 0.0.0.0
```

**Использование API (совместимо с OpenAI):**

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy")

response = client.chat.completions.create(
    model="meta-llama/Llama-3.3-70B-Instruct",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Напишите функцию на Python для вычисления чисел Фибоначчи"}
    ],
    temperature=0.7,
    max_tokens=1024
)

print(response.choices[0].message.content)
```

### Метод 3: Transformers + bitsandbytes

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

# Конфигурация квантизации 4-бит
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

model_id = "meta-llama/Llama-3.3-70B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    quantization_config=bnb_config,
    device_map="auto"
)

# Генерация
messages = [
    {"role": "system", "content": "Вы — полезный помощник по программированию."},
    {"role": "user", "content": "Напишите веб-скрейпер на Python с использованием BeautifulSoup"}
]

input_ids = tokenizer.apply_chat_template(
    messages,
    return_tensors="pt"
).to("cuda")

outputs = model.generate(
    input_ids,
    max_new_tokens=512,
    temperature=0.7,
    do_sample=True
)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```

### Метод 4: llama.cpp (гибрид CPU+GPU)

```bash
# Клонировать и собрать
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make LLAMA_CUDA=1

# Скачать GGUF модель
wget https://huggingface.co/bartowski/Llama-3.3-70B-Instruct-GGUF/resolve/main/Llama-3.3-70B-Instruct-Q4_K_M.gguf

# Запустить сервер
./llama-server \
    -m Llama-3.3-70B-Instruct-Q4_K_M.gguf \
    -c 8192 \
    -ngl 80 \
    --host 0.0.0.0 \
    --port 8080
```

## Бенчмарки

### Пропускная способность (токенов/секунда)

| GPU          | Q4    | Q8    | FP16  |
| ------------ | ----- | ----- | ----- |
| A100 40GB    | 25-30 | -     | -     |
| A100 80GB    | 35-40 | 25-30 | -     |
| 2x A100 80GB | 50-60 | 40-45 | 30-35 |
| H100 80GB    | 60-70 | 45-50 | 35-40 |

### Время до первого токена (TTFT)

| GPU          | Q4       | FP16     |
| ------------ | -------- | -------- |
| A100 40GB    | 0.8-1.2с | -        |
| A100 80GB    | 0.6-0.9с | -        |
| 2x A100 80GB | 0.4-0.6с | 0.8-1.0с |

### Длина контекста vs VRAM

| Контекст | Q4 VRAM | Q8 VRAM |
| -------- | ------- | ------- |
| 4K       | 38GB    | 72GB    |
| 8K       | 40GB    | 75GB    |
| 16K      | 44GB    | 80GB    |
| 32K      | 52GB    | 90GB    |
| 64K      | 68 ГБ   | 110GB   |
| 128K     | 100GB   | 150GB   |

## Сценарии использования

### Генерация кода

```python
messages = [
    {"role": "system", "content": "Вы — эксперт-программист. Пишите чистый, эффективный, хорошо документированный код."},
    {"role": "user", "content": "Создайте REST API на FastAPI с аутентификацией пользователей с помощью JWT токенов"}
]
```

### Анализ документов (длинный контекст)

```python
# Загрузить длинный документ
with open("large_document.txt") as f:
    document = f.read()

messages = [
    {"role": "system", "content": "Вы — аналитик документов. Предоставляйте подробный, точный анализ."},
    {"role": "user", "content": f"Проанализируйте этот документ и представьте краткое содержание с ключевыми моментами:\n\n{document}"}
]
```

### Многоязычные задачи

```python
messages = [
    {"role": "system", "content": "Вы — многоязычный помощник."},
    {"role": "user", "content": "Переведите на немецкий, французский и испанский: 'The quick brown fox jumps over the lazy dog'"}
]
```

### Рассуждение и анализ

```python
messages = [
    {"role": "system", "content": "Думайте шаг за шагом. Покажите ваше рассуждение."},
    {"role": "user", "content": "Поезд отправляется со станции A в 9:00 со скоростью 60 миль/ч. Другой поезд отправляется со станции B (в 300 милях) в 10:00 в направлении станции A со скоростью 90 миль/ч. Когда и где они встретятся?"}
]
```

## Советы по оптимизации

### Оптимизация памяти

```python
# vLLM с оптимизацией памяти
python -m vllm.entrypoints.openai.api_server \
    --model casperhansen/llama-3.3-70b-instruct-awq \
    --quantization awq \
    --gpu-memory-utilization 0.95 \
    --max-model-len 8192
```

### Оптимизация скорости

```python
# Включить Flash Attention
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.3-70B-Instruct \
    --tensor-parallel-size 2 \
    --enable-prefix-caching
```

### Пакетная обработка

```python
# Эффективно обрабатывать несколько запросов
responses = client.chat.completions.create(
    model="meta-llama/Llama-3.3-70B-Instruct",
    messages=messages,
    n=4,  # Сгенерировать 4 ответа
    temperature=0.8
)
```

## Сравнение с другими моделями

| Функция     | Llama 3.3 70B | Llama 3.1 70B | Qwen 2.5 72B | Mixtral 8x22B |
| ----------- | ------------- | ------------- | ------------ | ------------- |
| MMLU        | 86.0          | 83.6          | 85.3         | 77.8          |
| Кодирование | 88.4          | 80.5          | 85.4         | 75.5          |
| Математика  | 77.0          | 68.0          | 80.0         | 60.0          |
| Контекст    | 128K          | 128K          | 128K         | 64K           |
| Языки       | 8             | 8             | 29           | 8             |
| Лицензия    | Откройте      | Откройте      | Откройте     | Откройте      |

**Вердикт:** Llama 3.3 70B предлагает лучшее общее качество в своем классе, особенно для задач кодирования и рассуждений.

## Устранение неполадок

### Недостаточно памяти

```bash
# Используйте квантизацию AWQ (наиболее экономна по памяти)
--model casperhansen/llama-3.3-70b-instruct-awq --quantization awq

# Уменьшите длину контекста
--max-model-len 8192

# Используйте тензорный параллелизм
--tensor-parallel-size 2
```

### Медленный первый отклик

* Первый запрос загружает модель на GPU — подождите 30–60 секунд
* Используйте `--enable-prefix-caching` для более быстрых последующих запросов
* Предварительный прогрев с помощью тестового запроса

### Доступ Hugging Face

```bash
# Войти в HF (требуется для модели с ограниченным доступом)
huggingface-cli login

# Или установить переменную окружения
export HUGGING_FACE_HUB_TOKEN=hf_xxxxx
```

## Оценка стоимости

| Настройка          | GPU            | $/час   | токенов/$ |
| ------------------ | -------------- | ------- | --------- |
| Бюджетная          | A100 40GB (Q4) | \~$0.17 | \~530K    |
| Сбалансировано     | A100 80GB (Q4) | \~$0.25 | \~500K    |
| Производительность | 2x A100 80GB   | \~$0.50 | \~360K    |
| Максимум           | H100 80GB      | \~$0.50 | \~500K    |

## Дальнейшие шаги

* [Руководство по vLLM](/guides/guides_v2-ru/yazykovye-modeli/vllm.md) - Производственное развертывание
* [Руководство по Ollama](/guides/guides_v2-ru/yazykovye-modeli/ollama.md) - Простая локальная настройка
* [Настройка Multi-GPU](/guides/guides_v2-ru/prodvinutye/multi-gpu-setup.md) - Масштабироваться до более крупных моделей
* [Интеграция API](/guides/guides_v2-ru/prodvinutye/api-integration.md) - Создавайте приложения


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/yazykovye-modeli/llama33.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
