惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
N
News and Events Feed by Topic
S
Schneier on Security
G
GRAHAM CLULEY
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
MyScale Blog
MyScale Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Vercel News
Vercel News
The Cloudflare Blog
C
Check Point Blog
Help Net Security
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
S
Secure Thoughts

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как мы за неделю, подружили DeepSeek-R1 с отечественными процессорам ARM64, NVIDIA A100 в 100% отечественном сервере
Алферов Валентин · 2026-06-22 · via Все публикации подряд на Хабре

Всем привет!

Меня зовут Алфёров Валентин, я директор по развитию компании Е-Флопс. В этой статье хочу поделиться с вами опытом нашего инженера-тестировщика, который рассказал мне эту историю, продемонстрировал результат и даже уговорил записать видео об этом))). Всё, что написано дальше, рассказ Сергея Шишкина от первого лица.

Дисклеймер: мы не пытаемся сказать, что сделали нечто революционное. LLM на GPU‑ускорителях запускали многие. Но запустить её на реальном сервере с отечественными ARM‑процессорами, с двумя NVIDIA Tesla A100, в изолированном контуре - и чтобы она ещё работала без падений - это оказалось нетривиальным квестом.

Делимся результатом и рецептом.

1. Зачем нам вообще локальная LLM?

Коротко про LLM и «ИИ»

Большие языковые модели (LLM) - это не магия, а очень большие нейросети, обученные предсказывать следующий токен (кусочек текста). Их называют «ИИ», потому что они умеют обобщать, писать код, отвечать на вопросы и даже шутить. Но под капотом - матричные умножения, attention и гигабайты весов.

Почему локально, а не ChatGPT?

Мы разрабатываем и тестируем железо и софт, пишем тонны документации. Использовать облачные LLM у нас нет возможности исходя из внутренних регламентов безопасности использования данных: данные уходят вовне, а у нас есть жесткие требования к информационной безопасности. Поэтому мы решили поднять собственную LLM внутри закрытого контура, на собственных серверах.

Кроме того, мы хотели проверить:

• Как отечественные процессоры с архитектурой ARM64 (96 ядер на вычислительный модуль) справляются с инференсом LLM;

• Можно ли эффективно использовать два ускорителя NVIDIA A100 без NVLink; что сломается, а что заработает;

• Сколько типовой пользователь потратит времени на развертывания аналогичной системы.

Спойлер: многое сломалось, но мы победили.

2. Почему выбрали DeepSeek-R1-Distill-Llama-70B?

Вариантов много: Llama 3, Qwen, Mistral, российские модели… Мы выбрали DeepSeek- R1-70B в квантизации Q4_K_M по нескольким причинам:

Открытая модель - можно качать и использовать без ограничений;

Достаточно мощная для начала (тестовая генерации документации, помощь в отладке, ревю кода). Мы взяли такую модель, чтобы контекстное окно в 128000 токенов гарантированно поместилось в VRAM двух нейроускорителей;

Скромная ресурсоёмкость - 70B параметров в 4-битном виде с окном в 128000 токенов весят примерно по 42 ГБ на каждый ускоритель A100. Это оставляет запас для будущих экспериментов, так как у каждого по 80 ГБ VRAM;

Популярность и отзывы - модель показала себя неплохо на бенчмарках и в реальном использовании.

Позже мы хотим экспериментировать с Qwen3 72B или даже 200B+ с RAG (Retrieval- Augmented Generation), но для первого блина решили не брать самый тяжёлый ком).

3. На каком железе всё это работает?

Сервер «М1» в сборе:

•        Шасси: М1РШ (19″, 6U, 4×CRPS 3000 Вт).

•        Вычислительный модуль:

Ø  Модель: MB2б.

Ø  Процессоры: 2 × ARM64, Cortex-A75, 48 ядер на сокет, всего 96 ядер.

Ø  Оперативная память: 384 ГБ DDR4-3200 ECC (12×32 ГБ).

Ø  Графические ускорители: 2 × NVIDIA Tesla A100 80GB PCIe (без NVLink).

Ø  Накопители: 256 ГБ NVMe М.2 для системы.

Ø  Сеть: 1GbE.

Почему именно так?

• MB2б - модель вычислительного модуля, спроектированная для задач ИИ, которая позволяет размещать 2 полноразмерных GPU-ускорителя (двойная ширина (два слота PCIe x16)).

• NVIDIA Tesla A100 - золотой стандарт для LLM: 80 ГБ HBM2e, Tensor Cores, поддержка FP16/BF16/INT8. 

• 384 ГБ ОЗУ - для будущих больших контекстов и нескольких параллельных запросов.

Важный нюанс с NUMA: наша платформа привязывает GPU к разным NUMA-узлам:

• GPU0 → потоки 0-47, 

• GPU1 → потоки 48-95.

Это положительно сказалось на производительности (и мы к этому ещё вернёмся).

4. Как ставили: сборка, драйверы, танцы с бубном

Процесс был задокументирован в 16-страничном отчёте. Приведу сокращённый, но честный путь.

4.1. ОС и ядро

Мы используем Debian 13 (trixie) с ядром 6.12.28-baikal-arm64.

cat /etc/os-release

# PRETTY_NAME="Debian GNU/Linux 13 (trixie)"

uname -r

# 6.12.28-baikal-arm64

4.2. Драйверы NVIDIA и CUDA

nvidia-smi --version

# NVIDIA-SMI 550.163.01, CUDA 12.4

Под ARM64 драйверы работают, но есть свои особенности (например, сборка из репозитория NVIDIA, а не из Debian).

4.3. Сборка llama.cpp с CUDA — танцы...

Стандартная команда да cmake -DGGML_CUDA=ON работает, но есть подводные камни:

Обязательно отключите shared libraries: -DBUILD_SHARED_LIBS=OFF, иначе получаете undefined reference to ggml_cuda_op_* при линковке.

Явно укажите архитектуру CUDA: -DCMAKE_CUDA_ARCHITECTURES="80" (для A100).

Проверяем, что CUDA подхватилась:

ldd ./build/bin/llama-server | grep

cuda # libcudart.so.12, libcuda.so.1

— есть!

4.4. Запуск сервера с правильным NUMA и распараллеливанием

Это ключевой момент. Из-за привязки GPU к разным NUMA-узлам нужно:

 • Использовать --numa distribute - разрезать запросы между узлами.

• Разделить тензоры между GPU:  --tensor-split 0.5,0.5   (поровну). 

• Указать количество потоков CPU = половине ядер (48, а не 96), чтобы не создавать лишнего контекста.

5. Что получилось: скорость, метрики, скриншоты

5.1. Загрузка GPU

 nvidia-smi

Каждая A100 жрёт ~40-42 ГБ памяти (из 80). Остальное - про запас и кэш.

5.2. Тестовый запрос

curl -s http://localhost:8080/v1/chat/completions \

-H "Content-Type: application/json" \

-d '{ "model": "deepseek-r1-70b", "messages": [{"role": "user", "content": "2+2="}], "max_tokens": 10, "stream": false }'

Ответ приходит за ~0.5 секунды на простом вопросе.

5.3. Скорость генерации (токенов/с)

Мы замерили на задаче средней сложности (написание короткого фрагмента документации):

Prefill (обработка входа) — около 600 токен/с.

Generation (декодинг) — 20–23 токен/с.

Это быстрее, чем чтение человеком. Для двух параллельных пользователей скорость падает до ~19-21 токен/с на каждого - всё ещё комфортно.

5.4. Почему разнесли модель на два ускорителя?

Модель 70B в Q4_K_M весит 42 ГБ. Один ускоритель A100 80 ГБ мог бы обрабатывать ее целиком, но:

• Тогда пропадает возможность параллельной обработки разных запросов на разных GPU.

• Мы теряем NUMA-оптимизацию (каждый GPU-ускоритель работает со «своим» центральным процессором (CPU)). Tensor parallelism (разрезание матриц) даёт небольшой выигрыш в скорости на больших батчах.

• Нам нужно было проверить работу сразу двух GPU-ускорителей

Поэтому --tensor-split 0.5,0.5 - осознанное решение.

5.5. Ограничения и подводные камни

• Веб-интерфейс llama.cpp выдаёт TypeError: Cannot read properties of undefined

- это баг, лечится обновлением llama.cpp.

Бред, вместо осмысленного ответа победили правильной конфигурацией запуска с рабочим параметром чата.

5.6. Как это выглядит на экране монитора

Вот так выглядит интерфейс общения с LLM

Вот так выглядит интерфейс общения с LLM

6. Фотографии железа (как оно выглядит вживую)

Вот так выглядит наш сервер «М1» в серверной стойке с задней части. Рука на вычислительном модуле, на котором крутится LLM

Вот так выглядит наш сервер «М1» в серверной стойке с задней части. Рука на вычислительном модуле, на котором крутится LLM

Вот я вынимаю вычислительный модуль из серверного шасси

Вот я вынимаю вычислительный модуль из серверного шасси

Вот он, вычислительный модуль МВ2б

Вот он, вычислительный модуль МВ2б

Вот я снял переднюю часть верхней крышки вычислительного модуля

Вот я снял переднюю часть верхней крышки вычислительного модуля

Вот я снял обе части верхней крышки вычислительного модуля. На верхнем ярусе расположены два GPU-ускорителя, установленные в райзеры

Вот я снял обе части верхней крышки вычислительного модуля. На верхнем ярусе расположены два GPU-ускорителя, установленные в райзеры

Вот нижний ярус вычислительного модуля. Центральная перегородка, которая разделяет потоки воздуха на GPU-ускорители и системную плату, снята

Вот нижний ярус вычислительного модуля. Центральная перегородка, которая разделяет потоки воздуха на GPU-ускорители и системную плату, снята

7. Описание вычислительного модуля МВ2б

Вычислительный модуль MB2б двойной ширины (специализированная модель для ИИ нагрузок) установлен в шасси М1РШ сервера «М1» в исполнении для инфраструктуры стоек 19” (есть еще исполнение для стоек стандарта OCP 12В и 48В) и занимает в 6U шасси 2 слота. 

Описание МВ2б:

• На лицевой панели: слот расширения OCP, 8 накопителей SSD NVMe с горячей заменой форм-фактора М.2, два порта SFP28 (25 GbE), разъем USB-C, предназначенный для подключения KVM адаптера, кнопки Power, Reset, ID, вентиляционная решётка, скрывающая GPU-ускоритель.

• Внутри: на нижнем ярусе - системная плата MBS01 (Ключевская) с двумя процессорами отечественного чипмейкера на борту, 12 слотами оперативной памяти DDR4 и двумя SSD дисками M.2 для размещения ОС или гипервизора. 

• Внутри на верхнем ярусе: сами GPU Nvidia A100, установленные в райзеры PCIe x16 4.0. Благодаря огромным пассивным радиаторам, занимают почти всё внутреннее пространство верхнего яруса.

8. Провокационный вопрос: на каких процессорах работает LLM?

Мы задали модели вопрос:

«На каких процессорах ты работаешь?» Модель честно ответила (перефразирую):

«Я выполняюсь на двух GPU NVIDIA A100, а CPU управляют вводом-выводом, планированием и prepost-обработкой. Мои матричные вычисления идут на Tensor Cores A100, CPU почти не участвуют в генерации.»

То есть центральные процессоры выступают в роли дирижёров оркестра из GPU. Это нормально для задачи LLM, поэтому можно было бы использовать менее производительные процессоры, или даже один.

9. Технологический суверенитет: при чём тут ИИ?

Нам задали уточняющий вопрос:

«Как решение на базе российского центрального процессора и open‑source LLM может обеспечить технологический суверенитет?»

• Отвечаем: мы продемонстрировали суверенное программно-аппартаное решение, основанное на суверенной аппаратной платформе, построенной на отечественных процессорах, что гарантирует отсутствие закладок, «килл- переключателя» и т.д., а используемое ПО - модель DeepSeek-R1 относится к категории открытого ПО, веса можно проверить и даже дообучить на своих данных. Нет привязки к вендорам из недружественных стран.

 • Данное решение обеспечивает информационную безопасность компании, которая использует ИИ в своей деятельности - всё работает в изолированном контуре. Данные не уходят за пределы организации.

И да, мы не говорим, что уже полностью независимы от NVIDIA. Но мы делаем первый шаг: учимся запускать LLM на российском CPU + любых доступных GPU. В планах использование российских ускорителей, тем более что ранее мы уже успешно протестировали совместимость нашей серверной платформы с ускорителями компании «ХайТек» и сейчас проводим тестирование ускорителей еще одной российской компании. 

10. А что дальше? Планы на Qwen3 и RAG

Текущая установка - тестовый прототип. В ближайших планах:

Развернуть Qwen3-72B (или даже 110B) - более мощную open‑модель.

Добавить RAG - прикрутить векторную базу данных (например, Qdrant или Chroma), чтобы модель отвечала на вопросы по нашей внутренней документации (технические описания, схемы, протоколы испытаний).

Увеличить контекст до 256k токенов - чтобы можно было загрузить целиком большой кусок кода или документ.

Перевести сервер в полностью изолированный контур (без доступа к внешней сети), закешировав все зависимости.

11. Отечественные LLM: что есть и что с ними не так?

Мы тоже смотрели в сторону российских моделей:

GigaChat (Сбер) - закрытая модель, для локальной установки требует коммерческой лицензии и специализированного железа.

YandexGPT - облачная модель, локальной версии нет.

Открытые разработки отдельных команд - часто отстают по качеству от DeepSeek- R1 или Llama-3-70B на бенчмарках.

Тем не менее, мы не против использовать отечественные open‑source модели, когда они достигнут сопоставимого уровня. Наше решение не привязано к конкретной модели - благодаря llama.cpp мы можем подставить любую модель в формате GGUF, хоть российскую, хоть китайскую, хоть американскую.

12. Наши компетенции: мы не только тестируем, но и внедряем

Развёртыванием данного решения занимался Сергей Шишкин, наш ведущий инженер отдела тестирования. Но у нас есть несколько команд, которые:

• Разрабатывают серверы с нуля: начиная с разработки плат, корпусов, встроенного и прикладного ПО, и заканчивая постановкой на серийное производство и обеспечением поддержки наших продуктов. Это наше первое основное направление деятельности. 

• Разрабатывают, собирают и тестируют кластеры из десятков узлов, суперкомпьютеры в сотни узлов, в том числе, ориентированные на использование ИИ. В целом создают решения, ориентированные на ИИ, облачные нагрузки, большие данные, контейнеры и виртуализацию. Это наше второе направление, которое постепенно расширяется в сторону наращивания компетенций в развертывании и настройке кластерной сети (RoCE, InfiniBand) для многоузловых (часто распределенных) комплексов, настройке работы специфических приложений заказчика в среде контейнеризации, портировании (как совместно с производителем ПО, так и самостоятельно) прикладного ПО на архитектуру ARM64, в том числе AI-фреймворков, как в данном проекте. 

13. Заключение: почему мы написали эту статью?

Мы не пытаемся удивить мир чем-то сверхновым. Мы просто показываем реальный рабочий прототип, где LLM с открытым кодом работает на отечественных процессорах с архитектурой ARM64 и двух NVIDIA Tesla A100. Мы задокументировали все грабли, и готовы помочь Вам, чтобы Вы не наступали на них, если решите повторить.

Спасибо, что прочитали и проявили интерес к нашей работе!

Мы будем рассказывать о новых интересных решениях по мере прохождения ими стадии прототипирования.

Видеоверсия этого кейса с Сергеем Шишкиным - скоро на наших каналах RUTUBE и VK Видео. Ссылки будут добавлены здесь и в описании.

Удачи в ваших AI-проектах!