mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-28 11:30:42 +00:00
244 lines
16 KiB
Markdown
244 lines
16 KiB
Markdown
install
|
||
### link
|
||
- [DeepSeek-LLM](https://github.com/deepseek-ai/DeepSeek-LLM)
|
||
### 1 Вопрос
|
||
Есть сервер без GPU на который нужно поставить chat.deepseek (open source).
|
||
Какие модели требуют какой конфигурации сервера? Предложи варианты и дай ссылки на скачивание соответствующих версий LLM.
|
||
Также дай ссылки на другое ПО, которое понадобится для запуска chat.deepseek. Дай ссылку на инструкцию по установке.
|
||
|
||
#### Ответ
|
||
|
||
Отличная задача! Запуск LLM на CPU без GPU — это вполне реально, но требует правильного выбора моделей и инструментов. Вот подробный разбор.
|
||
|
||
### Ключевой момент: Формат моделей GGUF
|
||
|
||
Для работы на CPU используются модели в специальном формате **GGUF** (ранее GGML). Они квантованы (сжаты) до разных уровней, что позволяет жертвовать небольшой точностью ради значительного снижения требований к памяти и вычислительной мощности.
|
||
|
||
---
|
||
|
||
### 1. Выбор модели и требования к серверу
|
||
|
||
Рекомендую начать с одной из этих моделей. Требования к RAM указаны с запасом (система + модель).
|
||
|
||
| Модель | Рекомендация | Минимум RAM | Комфортно RAM | Ссылка для скачивания (GGUF) |
|
||
| :--- | :--- | :--- | :--- | :--- |
|
||
| **DeepSeek-Coder-V2-Lite (16B)** | Лучший баланс для кода. Достаточно умная и при этом не слишком тяжелая. | 12-16 ГБ | 32 ГБ+ | [TheBloke/DeepSeek-Coder-V2-Lite-GGUF](https://huggingface.co/TheBloke/DeepSeek-Coder-V2-Lite-GGUF) (скачать `q4_0` или `q5_0`) |
|
||
| **DeepSeek-V2-Lite-Chat (16B)** | Универсальная чат-модель, общается и решает общие задачи. | 12-16 ГБ | 32 ГБ+ | [TheBloke/DeepSeek-V2-Lite-Chat-GGUF](https://huggingface.co/TheBloke/DeepSeek-V2-Lite-Chat-GGUF) (скачать `q4_0` или `q5_0`) |
|
||
| **DeepSeek-Coder-V2 (16B)** | **Внимание:** Это блоб с 236B параметрами, активируемыми MoE. Требует ОЧЕНЬ много RAM. | ~70-80 ГБ | 128 ГБ+ | [TheBloke/DeepSeek-Coder-V2-GGUF](https://huggingface.co/TheBloke/DeepSeek-Coder-V2-GGUF) (только для мощных серверов) |
|
||
| **DeepSeek-LLM-7B-Chat** | Старая, но проверенная 7B-модель. Подойдет для слабых серверов. | 8 ГБ | 16 ГБ | [TheBloke/DeepSeek-LLM-7B-Chat-GGUF](https://huggingface.co/TheBloke/DeepSeek-LLM-7B-Chat-GGUF) |
|
||
|
||
**Как выбрать версию (q4_0, q5_0, q8_0)?**
|
||
* **q4_0**: Хороший баланс скорость/качество. Начинайте с него.
|
||
* **q5_0** или **q5_1**: Качество и точность выше, но модель занимает больше памяти и медленнее.
|
||
* **q8_0**: Качество почти как у оригинальной модели, но требует много памяти. Рекомендуется только если RAM очень много.
|
||
|
||
---
|
||
|
||
### 2. Необходимое ПО для запуска
|
||
|
||
Вам не нужен оригинальный `chat.deepseek` от компании. Вместо этого используйте следующие инструменты, которые идеально подходят для CPU.
|
||
|
||
#### Вариант 1: Ollama (Настоятельно рекомендуется)
|
||
Самый простой способ. Устанавливается одной командой, сам скачает модель и предоставляет API и веб-интерфейс.
|
||
|
||
* **Сайт и инструкция по установке:** [https://ollama.ai](https://ollama.ai)
|
||
* **Инструкция для Linux:**
|
||
```bash
|
||
curl -fsSL https://ollama.ai/install.sh | sh
|
||
ollama serve # Запускает сервер
|
||
```
|
||
|
||
#### Вариант 2: llama.cpp + UI
|
||
Более гибкий, но чуть более сложный в настройке вариант. `llama.cpp` — это движок для работы с GGUF-моделями, а UI — веб-интерфейс.
|
||
|
||
1. **llama.cpp** (движок):
|
||
* **GitHub:** [ggerganov/llama.cpp](https://github.com/ggerganov/llama.cpp)
|
||
* **Готовые билды:** Можно скачать готовый бинарник для Linux из раздела [Releases](https://github.com/ggerganov/llama.cpp/releases) (файл `llama-server`).
|
||
|
||
2. **Веб-интерфейс (UI):**
|
||
* **Open WebUI (ранее Ollama-WebUI):** [open-webui.com](https://www.open-webui.com/) — Мощный и красивый интерфейс, похожий на ChatGPT. Подключается к Ollama.
|
||
* **text-generation-webui (Oobabooga):** [GitHub](https://github.com/oobabooga/text-generation-webui) — Очень гибкий интерфейс с кучей функций, но сложнее в установке.
|
||
* **llama.cpp own server:** В `llama.cpp` есть встроенный простой веб-сервер.
|
||
|
||
---
|
||
|
||
### 3. Пошаговая инструкция по запуску (Вариант с Ollama)
|
||
|
||
Это самый быстрый путь к работающему чату.
|
||
|
||
1. **Установите Ollama** по инструкции на их сайте.
|
||
2. **Скачайте и запустите модель** через командную строку. Ollama сам найдет нужную GGUF-сборку.
|
||
* *Для кода:*
|
||
```bash
|
||
ollama pull deepseek-coder:6.7b # Или 16b, если хватит RAM
|
||
```
|
||
* *Для общения:*
|
||
```bash
|
||
ollama pull deepseek-llm:7b
|
||
```
|
||
*(На сайте Ollama в поиске можно найти все доступные версии моделей DeepSeek)*
|
||
3. **Запустите чат:**
|
||
```bash
|
||
ollama run deepseek-coder:6.7b
|
||
```
|
||
4. **(Опционально) Установите Open WebUI:**
|
||
```bash
|
||
# Установка через Docker (самый простой способ)
|
||
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
|
||
```
|
||
После установки откройте `http://your-server-ip:3000`.
|
||
|
||
---
|
||
|
||
### 4. Инструкция по запуску (Вариант с llama.cpp вручную)
|
||
|
||
1. **Скачайте бинарник `llama-server`** со [страницы релизов llama.cpp](https://github.com/ggerganov/llama.cpp/releases).
|
||
2. **Скачайте модель GGUF** с Hugging Face (ссылки выше в таблице). Например, `deepseek-coder-v2-lite-16b.q4_0.gguf`.
|
||
3. **Запустите сервер:**
|
||
```bash
|
||
# Переименуйте бинарник для удобства
|
||
mv llama-server-xxxx llama-server
|
||
chmod +x llama-server
|
||
|
||
# Запустите сервер с моделью
|
||
./llama-server -m ./deepseek-coder-v2-lite-16b.q4_0.gguf -c 4096 --host 0.0.0.0 --port 8080
|
||
```
|
||
* `-m`: путь к модели.
|
||
* `-c`: размер контекста.
|
||
* `--host 0.0.0.0`: разрешает подключения с других машин.
|
||
* `--port 8080`: порт.
|
||
4. **Откройте в браузере:** `http://your-server-ip:8080`. Вы увидите простой, но функциональный чат-интерфейс.
|
||
|
||
### Полезные ссылки для ознакомления:
|
||
|
||
* **Официальный репозиторий DeepSeek (не для CPU):** [deepseek-ai/DeepSeek-LLM](https://github.com/deepseek-ai/DeepSeek-LLM)
|
||
* **Hugging Face страница TheBloke:** [https://huggingface.co/TheBloke](https://huggingface.co/TheBloke) (здесь он выкладывает все свои GGUF-конвертации, ваш главный источник моделей).
|
||
|
||
Начните с **Ollama** и модели **DeepSeek-Coder-V2-Lite 16B (q4_0)**. Это даст вам лучший опыт с минимальными затратами на настройку. Удачи
|
||
#### Мысли:
|
||
Мы рассматриваем запуск модели DeepSeek на сервере без GPU. Это означает, что мы будем использовать только CPU. Однако, стоит отметить, что модели больших размеров требуют значительных объемов оперативной памяти и могут работать очень медленно на CPU.
|
||
|
||
DeepSeek предоставляет несколько моделей, включая DeepSeek-Coder и DeepSeek-LLM. Поскольку мы говорим о chat.deepseek, вероятно, нас интересует модель для чата, например, DeepSeek-LLM-7B-Chat или DeepSeek-Coder-6.7B-Instruct.
|
||
|
||
Для запуска на CPU нам понадобится:
|
||
|
||
Модель в формате, который можно запустить на CPU (обычно это GGUF формат, который оптимизирован для CPU через llama.cpp).
|
||
|
||
Программное обеспечение для запуска модели, например, llama.cpp или Ollama.
|
||
|
||
Поскольку официальный репозиторий deepseek не обязательно предоставляет GGUF версии, мы можем поискать их в сообществе. Часто модели конвертируют в GGUF и выкладывают на Hugging Face.
|
||
|
||
Предположим, мы хотим запустить модель DeepSeek-LLM-7B-Chat. Нам понадобится ее GGUF версия. Я нашел несколько вариантов на Hugging Face, например:
|
||
|
||
DeepSeek-LLM-7B-Chat-GGUF
|
||
|
||
Аналогично, для DeepSeek-Coder-6.7B-Instruct:
|
||
|
||
DeepSeek-Coder-6.7B-Instruct-GGUF
|
||
|
||
Теперь, какая конфигурация сервера потребуется?
|
||
|
||
Для модели 7B в формате GGUF, как правило, требуется около 4-8 ГБ оперативной памяти (в зависимости от квантования). Чем ниже квантование (например, Q4_0, Q5_0), тем меньше памяти требуется, но тем менее точной становится модель.
|
||
|
||
Рекомендации по памяти для моделей 7B:
|
||
|
||
Q4_0: ~4 ГБ
|
||
|
||
Q5_0: ~5 ГБ
|
||
|
||
Q8_0: ~8 ГБ
|
||
|
||
Для моделей 67B (если бы мы захотели) потребовалось бы намного больше памяти (например, 40+ ГБ для Q4_0). Но на сервере без GPU, вероятно, мы ограничимся моделями 7B.
|
||
|
||
Другое ПО, которое понадобится:
|
||
|
||
llama.cpp - для запуска модели в формате GGUF.
|
||
|
||
Или Ollama - которая использует под капотом llama.cpp и предоставляет более простой интерфейс.
|
||
|
||
Инструкция по установке:
|
||
|
||
Вариант 1: Использование llama.cpp
|
||
|
||
Скачайте llama.cpp с GitHub: https://github.com/ggerganov/llama.cpp
|
||
|
||
Соберите проект (make).
|
||
|
||
Скачайте GGUF модель с Hugging Face (например, deepseek-llm-7b-chat.Q4_0.gguf).
|
||
|
||
Запустите модель с помощью: ./main -m path/to/model.gguf -p "Ваш запрос" -n 2048
|
||
|
||
Вариант 2: Использование Ollama
|
||
|
||
Установите Ollama: https://ollama.ai/download
|
||
|
||
Скачайте модель (если она есть в списке поддерживаемых) или создайте свой Modelfile.
|
||
В настоящее время Ollama имеет в своей библиотеке модель deepseek-coder: https://ollama.ai/library/deepseek-coder
|
||
Но для deepseek-llm, возможно, придется создать свой Modelfile.
|
||
|
||
Например, для deepseek-llm-7b-chat:
|
||
|
||
Создайте файл Modelfile:
|
||
|
||
text
|
||
FROM /path/to/deepseek-llm-7b-chat.Q4_0.gguf
|
||
Затем выполните:
|
||
|
||
text
|
||
ollama create deepseek-llm-7b-chat -f Modelfile
|
||
ollama run deepseek-llm-7b-chat
|
||
Однако, на момент написания, Ollama может не иметь встроенной поддержки deepseek-llm, но она поддерживает модели в формате GGUF через Modelfile.
|
||
|
||
Инструкция по установке llama.cpp:
|
||
|
||
Для Linux:
|
||
|
||
text
|
||
git clone https://github.com/ggerganov/llama.cpp
|
||
cd llama.cpp
|
||
make
|
||
Затем скачайте модель, например:
|
||
|
||
text
|
||
wget https://huggingface.co/TheBloke/DeepSeek-LLM-7B-Chat-GGUF/resolve/main/deepseek-llm-7b-chat.Q4_0.gguf
|
||
Запуск:
|
||
|
||
text
|
||
./main -m deepseek-llm-7b-chat.Q4_0.gguf -p "Какой твой любимый язык программирования?" -n 512
|
||
Для Ollama установка проще (смотрите официальный сайт для инструкций по установке на Linux).
|
||
|
||
Ссылки:
|
||
|
||
llama.cpp: https://github.com/ggerganov/llama.cpp
|
||
|
||
Ollama: https://ollama.ai/
|
||
|
||
Модель DeepSeek-LLM-7B-Chat GGUF: https://huggingface.co/TheBloke/DeepSeek-LLM-7B-Chat-GGUF
|
||
|
||
Модель DeepSeek-Coder-6.7B-Instruct GGUF: https://huggingface.co/TheBloke/DeepSeek-Coder-6.7B-Instruct-GGUF
|
||
|
||
Примечание: Всегда проверяйте актуальность ссылок и наличие последних версий моделей.
|
||
|
||
Если вы хотите использовать именно chat.deepseek (веб-интерфейс), то вам может понадобиться дополнительное ПО, например, веб-интерфейс для llama.cpp, такой как llama.cpp server или другие фронтенды.
|
||
|
||
Для запуска веб-интерфейса можно использовать llama.cpp server:
|
||
|
||
text
|
||
./server -m deepseek-llm-7b-chat.Q4_0.gguf -c 2048
|
||
Затем открыть в браузере http://localhost:8080.
|
||
|
||
Также есть другие проекты, например, text-generation-webui, который поддерживает GGUF модели.
|
||
|
||
Вот инструкция по установке text-generation-webui: https://github.com/oobabooga/text-generation-webui
|
||
|
||
Внутри text-generation-webui можно загружать GGUF модели.
|
||
|
||
Резюме:
|
||
|
||
Выберите модель (7B или 6.7B) в формате GGUF в зависимости от задач (общая или кодовая).
|
||
|
||
Убедитесь, что на сервере достаточно оперативной памяти (как минимум 8 ГБ для 7B модели с Q4_0, но лучше с запасом).
|
||
|
||
Установите либо llama.cpp, либо Ollama, либо text-generation-webui для запуска модели.
|
||
|
||
Следуйте инструкциям по установке выбранного программного обеспечения.
|