# LFM2-24B-A2B

> LFM2-24B-A2B представляет собой прорыв в эффективном языковом моделировании благодаря гибридному подходу Liquid AI **Модель пространств состояний + Attention** архитектуре. При 24 млрд параметров в целом, но лишь 2 млрд активных на токен, она демонстрирует впечатляющие показатели, требуя всего около \~6 ГБ видеопамяти для вывода в FP16. Модель достигает примерно 350 ток/с на RTX 4090, что делает её одной из самых быстрых больших языковых моделей.

## Кратко

* **Размер модели**: 24B всего / 2B активных параметров (гибрид SSM+Attention)
* **Лицензия**: Открытая лицензия Liquid AI (бесплатно для некоммерческого использования, доступна коммерческая лицензия)
* **Контекст**: 32K токенов
* **Производительность**: Конкурентоспособна с плотными моделями 7B-13B
* **Видеопамять**: \~6 ГБ FP16, \~3 ГБ INT8
* **Скорость**: \~350 ток/с на RTX 4090, \~200 ток/с на RTX 3090

## Почему LFM2-24B-A2B?

**Революционная архитектура**: LFM2-24B-A2B сочетает модели пространств состояний (SSM) с селективными механизмами внимания. SSM эффективно обрабатывают последовательности, в то время как слои внимания фокусируются на сложных рассуждениях. Этот гибридный подход обеспечивает качество крупной модели при эффективности малой.

**Исключительная скорость**: Конструкция с 2B активных параметров обеспечивает молниеносный вывод. В отличие от традиционных моделей, где активируются все параметры, LFM2 выборочно задействует только необходимые компоненты, что даёт более 350 токенов в секунду на потребительском оборудовании.

**Эффективность по памяти**: При всего 6 ГБ VRAM для FP16 LFM2-24B-A2B уверенно работает на GPU среднего уровня. Это делает её идеальной для развёртывания на периферии, в средах разработки и для производственных решений с ограниченным бюджетом.

**Инновации Liquid AI**: Разработанная Liquid AI (основана исследователями MIT), LFM2 представляет передовые исследования в нейронной архитектуре. Гибридный дизайн SSM+Attention может стать будущим эффективного языкового моделирования.

**Примечание по лицензированию**: Открытая лицензия Liquid AI разрешает бесплатное некоммерческое использование. Коммерческое развёртывание требует отдельной лицензии от Liquid AI. Это **не** MIT — проверьте условия лицензирования перед использованием в продакшене.

## Рекомендации по GPU

| GPU             | Видеопамять | Производительность | Ежедневная стоимость\* |
| --------------- | ----------- | ------------------ | ---------------------- |
| RTX 3060 12GB   | 12 ГБ       | \~180 ток/с        | \~$0.80                |
| RTX 3070        | 8 ГБ        | \~220 ток/с        | \~$0.90                |
| **RTX 4060 Ti** | 16 ГБ       | \~300 ток/с        | \~$1.20                |
| **RTX 4090**    | 24 ГБ       | **\~350 ток/с**    | \~$2.10                |
| RTX 3090        | 24 ГБ       | \~200 ток/с        | \~$1.10                |
| A100 40GB       | 40 ГБ       | \~400 ток/с        | \~$3.50                |

**Лучшее соотношение цена/производительность**: RTX 4060 Ti 16GB предлагает отличную производительность за свои деньги. **Максимальная скорость**: RTX 4090 раскрывает весь потенциал LFM2.

\*Оценочные цены на рынке Clore.ai

## Развёртывание с vLLM

### Установите vLLM

```bash
pip install vllm>=0.6.0
# или последнюю версию
pip install git+https://github.com/vllm-project/vllm.git
```

### Настройка для одного GPU

```bash
vllm serve liquid-ai/LFM2-24B-A2B \
  --model liquid-ai/LFM2-24B-A2B \
  --tensor-parallel-size 1 \
  --dtype float16 \
  --max-model-len 32768 \
  --served-model-name lfm2-24b \
  --trust-remote-code \
  --disable-log-stats
```

### Запрос к серверу

```python
from openai import OpenAI

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

response = client.chat.completions.create(
    model="lfm2-24b",
    messages=[
        {"role": "system", "content": "Вы полезный AI-ассистент, специализирующийся на технических объяснениях."},
        {"role": "user", "content": "Объясните различия между моделями пространств состояний и традиционными трансформерами"}
    ],
    max_tokens=1024,
    temperature=0.7
)

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

## Развёртывание с Ollama

Ollama предоставляет самый простой путь для развёртывания:

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

# Загрузите модель LFM2
ollama pull liquid-ai/lfm2:24b

# Запустите интерактивно
ollama run liquid-ai/lfm2:24b

# Режим API
ollama serve
```

### Использование Ollama API

```python
import requests

# Простой completion
response = requests.post('http://localhost:11434/api/generate',
    json={
        'model': 'liquid-ai/lfm2:24b',
        'prompt': 'Напишите функцию на Python для вычисления чисел Фибоначчи с использованием мемоизации',
        'stream': False
    }
)

print(response.json()['response'])

# Формат чата
chat_response = requests.post('http://localhost:11434/api/chat',
    json={
        'model': 'liquid-ai/lfm2:24b',
        'messages': [
            {'role': 'user', 'content': 'Объясните квантовую запутанность простыми словами'}
        ],
        'stream': False
    }
)

print(chat_response.json()['message']['content'])
```

## Шаблон Docker

```dockerfile
FROM nvidia/cuda:12.1-devel-ubuntu22.04

# Установите Python 3.10
RUN apt-get update && apt-get install -y \
    python3.10 python3-pip curl && \
    rm -rf /var/lib/apt/lists/*

# Установите vLLM
RUN pip install vllm>=0.6.0 transformers

# Установите переменные окружения
ENV PYTHONUNBUFFERED=1

# Предварительная загрузка модели (опционально)
# RUN python3 -c "from transformers import AutoModel; AutoModel.from_pretrained('liquid-ai/LFM2-24B-A2B', trust_remote_code=True)"

EXPOSE 8000

CMD ["vllm", "serve", "liquid-ai/LFM2-24B-A2B", \
     "--host", "0.0.0.0", \
     "--port", "8000", \
     "--dtype", "float16", \
     "--max-model-len", "16384", \
     "--trust-remote-code"]
```

Соберите и запустите:

```bash
docker build -t lfm2-24b .
docker run --gpus all -p 8000:8000 lfm2-24b
```

## Бенчмарк скорости

Проверьте исключительную скорость вывода LFM2:

```python
import time
from openai import OpenAI

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

def speed_test():
    prompts = [
        "Объясните машинное обучение в одном абзаце",
        "Напишите быструю реализацию алгоритма сортировки на Python",
        "Опишите преимущества возобновляемых источников энергии",
        "Какова столица Франции и почему она важна?",
        "Создайте простую структуру HTML-страницы"
    ]
    
    total_tokens = 0
    total_time = 0
    
    for prompt in prompts:
        start_time = time.time()
        
        response = client.chat.completions.create(
            model="lfm2-24b",
            messages=[{"role": "user", "content": prompt}],
            max_tokens=200,
            temperature=0.1
        )
        
        end_time = time.time()
        
        tokens = len(response.choices[0].message.content.split())
        duration = end_time - start_time
        
        total_tokens += tokens
        total_time += duration
        
        print(f"Prompt: {prompt[:30]}...")
        print(f"Tokens: {tokens}, Time: {duration:.2f}s, Speed: {tokens/duration:.1f} tok/s\n")
    
    avg_speed = total_tokens / total_time
    print(f"Average speed: {avg_speed:.1f} tokens/second")
    return avg_speed

# Запустите тест скорости
speed_test()
```

## Квантование для уменьшения VRAM

Для GPU с ограниченной видеопамятью используйте квантизированные версии:

### Квантование GPTQ

```bash
# Установите auto-gptq
pip install auto-gptq

# Используйте квантизованную модель (сокращает до ~3 ГБ VRAM)
vllm serve liquid-ai/LFM2-24B-A2B-GPTQ \
  --model liquid-ai/LFM2-24B-A2B-GPTQ \
  --quantization gptq \
  --dtype float16 \
  --max-model-len 16384
```

### Квантование AWQ

```bash
# Установите autoawq
pip install autoawq

# Используйте модель, квантизованную AWQ
vllm serve liquid-ai/LFM2-24B-A2B-AWQ \
  --model liquid-ai/LFM2-24B-A2B-AWQ \
  --quantization awq \
  --dtype float16
```

## Расширенная конфигурация

### Настройка с оптимизацией памяти

Для GPU с 8 ГБ:

```bash
vllm serve liquid-ai/LFM2-24B-A2B \
  --model liquid-ai/LFM2-24B-A2B \
  --dtype float16 \
  --max-model-len 8192 \
  --gpu-memory-utilization 0.85 \
  --swap-space 4 \
  --trust-remote-code
```

### Настройка для высокой пропускной способности

Для производственных нагрузок:

```bash
vllm serve liquid-ai/LFM2-24B-A2B \
  --model liquid-ai/LFM2-24B-A2B \
  --tensor-parallel-size 1 \
  --max-num-seqs 32 \
  --max-num-batched-tokens 8192 \
  --dtype float16 \
  --trust-remote-code
```

## Преимущества архитектуры SSM

Гибрид SSM+Attention LFM2 предоставляет уникальные преимущества:

**Линейное масштабирование**: SSM масштабируются линейно по длине последовательности, в то время как традиционные трансформеры масштабируются квадратично. Это обеспечивает эффективную обработку длинного контекста.

**Селективное внимание**: Только критические токены инициируют полные механизмы внимания, снижая вычислительную нагрузку.

**Эффективность по памяти**: Конструкция с 2B активных параметров означает, что большая часть из 24B параметров остаётся неактивной во время вывода, что значительно снижает требования к пропускной способности памяти.

**Быстрая последовательная обработка**: SSM превосходны в последовательных задачах, таких как генерация текста, достигая большей пропускной способности, чем чистые механизмы внимания.

## Советы для пользователей Clore.ai

* **Ориентация на один GPU**: LFM2-24B-A2B оптимизирована для развёртывания на одном GPU. Мульти-GPU конфигурации не дают значительных преимуществ.
* **Длина контекста**: Используйте более короткие контексты (8K-16K) для максимальной скорости. Более длинные контексты уменьшают преимущество эффективности SSM.
* **Настройки температуры**: Низкие температуры (0.1-0.3) максимизируют скорость вывода за счёт снижения неопределённости.
* **Размер батча**: Увеличивайте размер батча для нескольких параллельных запросов, вместо использования нескольких GPU.
* **Соответствие лицензии**: Уточните требования коммерческого лицензирования у Liquid AI перед развёртыванием в продакшене.

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

| Проблема                           | Решение                                                                                   |
| ---------------------------------- | ----------------------------------------------------------------------------------------- |
| `ImportError: liquid_transformers` | Установите: `pip install git+https://github.com/LiquidAI-project/liquid-transformers.git` |
| Медленный запуск                   | Предварительно загрузите: `huggingface-cli download liquid-ai/LFM2-24B-A2B`               |
| `OutOfMemoryError`                 | Используйте квантизованную версию или уменьшите `max-model-len`                           |
| Низкое качество ответов            | Проверьте ограничения лицензии — некоторые версии модели имеют ограниченные возможности   |
| Ошибки слоя SSM                    | Обновите transformers: `pip install transformers>=4.45.0`                                 |

## Сравнение производительности

| Модель           | Активные параметры | VRAM (FP16) | Скорость (RTX 4090) |
| ---------------- | ------------------ | ----------- | ------------------- |
| Llama 3.2 3B     | 3B                 | \~6 ГБ      | \~280 ток/с         |
| Qwen2.5 7B       | 7B                 | \~14 ГБ     | \~180 ток/с         |
| **LFM2-24B-A2B** | **2B**             | **\~6 ГБ**  | **\~350 ток/с**     |
| Mistral 7B       | 7B                 | \~14 ГБ     | \~200 ток/с         |
| Phi-3.5 3.8B     | 3.8B               | \~8 ГБ      | \~250 ток/с         |

LFM2-24B-A2B достигает наилучшего соотношения скорость/VRAM в своём классе.

## Ресурсы

* [LFM2-24B-A2B на Hugging Face](https://huggingface.co/liquid-ai/LFM2-24B-A2B)
* [Компания Liquid AI](https://liquid.ai/)
* [Статья об архитектуре SSM](https://arxiv.org/abs/2312.00752)
* [Лицензирование Liquid AI](https://liquid.ai/licensing)
* [Поддержка SSM в vLLM](https://docs.vllm.ai/en/latest/models/supported_models.html#liquid-ai)


---

# 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/lfm2-24b.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.
