Для электронщиков и радиолюбителей

Как установить DeepSeek на Raspberry Pi 5 с помощью Hugging Face

Как установить DeepSeek на Raspberry Pi 5

DeepSeek — это современная большая языковая модель (LLM), которая позволяет генерировать, обрабатывать и анализировать текст. Запустить её можно через библиотеку Transformers от Hugging Face, которая предоставляет удобный Python API и тысячи готовых моделей.

В этом руководстве мы разберём по шагам, как использовать DeepSeek на Raspberry Pi 5, включая установку необходимых библиотек, загрузку модели и запуск.


Что такое DeepSeek?

DeepSeek — серия больших языковых моделей с открытым исходным кодом, включая варианты:

  • deepseek-llm — универсальная языковая модель
  • deepseek-coder — модель, обученная на программном коде
  • Разные размеры: от ~1.3B параметров до ~67B

Важно: Raspberry Pi 5 имеет ограниченные ресурсы, поэтому вам придётся использовать квантованные или сильно уменьшенные версии моделей, например DeepSeek 1.3B или quantized модели от сторонних разработчиков.


Что понадобится

Перед началом убедитесь, что у вас есть:

  • Raspberry Pi 5 с 64-бит Raspberry Pi OS (Bookworm или новее)
  • Минимум 4 ГБ ОЗУ (рекомендовано 8 ГБ)
  • SD-карта (64+ ГБ) или SSD
  • Подключение к интернету
  • Python >=3.9
  • Базовые навыки работы с терминалом

Шаг 1. Установка Python и pip

Обновите систему и установите Python:

sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip python3-venv -y

Создайте виртуальное окружение:

python3 -m venv ~/deepseek-env
source ~/deepseek-env/bin/activate

Шаг 2. Установка PyTorch и Transformers

Почему это важно

Модели DeepSeek используют PyTorch (или TensorFlow), а библиотека Transformers от Hugging Face обеспечивает удобный API.

Установка необходимых библиотек

Для Raspberry Pi 5 чаще всего используется PyTorch CPU (CUDA не поддерживается):

pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

Установите Transformers и другие зависимости:

pip install transformers accelerate

Если будете использовать квантование через BitsAndBytes (опционально), установите:

pip install bitsandbytes

На Raspberry Pi ARM иногда BitsAndBytes не поддерживается — лучше использовать модели, заранее квантованные и сохранённые в формате ggml или gguf через другие инструменты (например, llama.cpp).

Шаг 3. Загрузка модели DeepSeek с Hugging Face

Для примера используем DeepSeek 1.3B (или другую небольшую модель):

Создайте Python-скрипт deepseek_demo.py:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "deepseek-ai/deepseek-llm-1.3b-base"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

prompt = "Raspberry Pi — это"

inputs = tokenizer(prompt, return_tensors="pt")

outputs = model.generate(**inputs, max_new_tokens=50)

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

Шаг 4. Запуск скрипта

В активированном виртуальном окружении выполните:

python deepseek_demo.py

После загрузки весов модель сгенерирует продолжение текста.

Как ускорить работу и снизить требования к памяти

Так как Raspberry Pi 5 ограничен по ОЗУ и CPU, используйте:

Меньшие модели (1.3B или меньше)

Квантованные модели (например, 4-битные)
Для этого можно использовать bitsandbytes или заранее квантованный вес через llama.cpp.

Pipeline с TorchScript (ускоряет инференс):

from transformers import pipeline

pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
result = pipe("Raspberry Pi — это", max_new_tokens=50)
print(result[0]["generated_text"])

Swap файл (добавьте своп, чтобы избежать OOM):

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Добавьте в /etc/fstab:

/swapfile none swap sw 0 0

Итоги

Хотя Raspberry Pi 5 — это не самый мощный компьютер, при правильной настройке он может запускать облегчённые модели DeepSeek для базовых задач генерации текста и экспериментов. Если вам нужна высокая производительность, рассмотрите возможность квантования модели или использования удалённого сервера.