MLOps Weekly
99 subscribers
10 photos
2 videos
11 links
Download Telegram
🚀 Новый пайплайн деплоя моделей с помощью Argo Workflows

Сегодня хочу рассказать о нашей новой фиче — пайплайне для вывода моделей в прод с помощью Argo Workflows. Если кратко: теперь это быстро, прозрачно и воспроизводимо.

💡 Зачем вообще Argo?
Argo Workflow — это Kubernetes-native инструмент для управления workflow’ами. А для нас это значит: можно собирать весь процесс вывода модели от загрузки артефактов до деплоя только лишь используя всем привычные Helm чарты.

🛠 Что внутри пайплайна?
Базовая версия включает:

1. Хранение окружений и моделей в MLFlow/S3 без Docker
2. Поднятие моделей только лишь с использованием YAML
3. Запуск подов в соответствии с правилом: 1 Модель - 1 Pod
4. Все шаги изолированы, логируются, можно перезапустить с любого этапа.

🎯 Что это даёт?

1. Ускорение вывода моделей
2. Минимизация ручных ошибок
3. Полная трассировка всех изменений
4. Простота откатов, если что-то пошло не так

Подробнее об этом я рассказываю в докладе на DevOpsConf2025 о котором будет следующий пост.

📦 Скоро залью шаблон в open-source — будет удобно адаптировать под свои задачи.

Если интересно, могу сделать мини-гайд по настройке такого пайплайна — пиши в комменты 😉
🔥4🥰2
🔄 Продолжаю рассказ про Argo Workflows: как построить пайплайн для обучения ML-модели

Я думал как лучше показать пайплайн. Однако у всех кластеры разные. Кто-то хочет использовать какие-то инструменты, а кто-то нет. В это же время у ArgoWF есть достаточно подробная документация и репозиторий с примерами.
Поэтому я решил не делать универсальный пример, который будет работать у всех, а скорее — разобрать ключевые шаги пайплайна и дать ссылки на официальные ресурсы ArgoWF, чтобы каждый мог адаптировать под себя.

Собственно разбор ключевых шагов пайплайна:

1. Загрузка кода модели из Git-репозитория
- - Как я говорил на одном из докладов: модель – это код+веса+зависимости. На этом этапе мы клонируем репозиторий с кодом модели. Argo предоставляет нам весь необходимый функционал, благодаря чему нам не требуется создавать скрипты, которые просто качают репу.

👉 Пример и официальная документация:
Git Example: https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-git.yaml
Docs: https://argoproj.github.io/argo-workflows/workflow-templates/

2. Установка зависимостей
- - После загрузки кода модели мы переходим к установке зависимостей. Обычно это requirements.txt / conda.yaml или что-то подобное.
Для этого мы можем использовать отдельный шаг в виде контейнера, где устанавливаем нужные библиотеки. Так как зачастую окружение весит достаточно много и нам нужно его использовать во всех дальнейших шагах – его лучше сохранить в S3 хранилище. Argo нативно умеет паковать указанную папку в архив с нужным уровнем сжатия и загружать ее в S3.

👉 Примеры и документация:
Input Artifacts Example: https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-s3.yaml
Python/Bash Scripts Example: https://github.com/argoproj/argo-workflows/blob/main/examples/scripts-python.yaml
Docs: *первый пункт*

3. Загрузка весов.
- - Этот этап нужен для инференса и вообще реализуется обычно в коде, так как идет работа с такими инстументами, как например MLFlow, однако веса и прочие данные, как и зависимости из второго шага можно загрузить напрямую из S3, Hadoop, FS, и других хранилок напрямую.
👉 Примеры и документация:
Docs Inputs: https://argo-workflows.readthedocs.io/en/latest/workflow-inputs/
Docs Artifacts: https://argo-workflows.readthedocs.io/en/latest/walk-through/artifacts/
Examples: все не накидать – Ctrl+F и вводим artifact в папке репы.

4. Обучение модели
- - Самый важный этап, как и выкладка. Здесь мы запускаем скрипт обучения, подгружая все ранее использованные артифакты.
По сути, нам можно воспользоваться шаблонами подгрузки из Git, S3 чтобы загрузить код, зависимости в виде архива, который будет автоматически распакован в нужную нам папку. И также запустить просто скрипт, через Bash.

Все примеры уже есть выше. Описание полей Input и Output шагов буквально идентичны: в случае input, путь - это откуда грузим, для output, путь - это куда. Подгружать можно практически все, что угодно и куда угодно.
Если у вас много оперативной памяти, то в K8s, все процессы работы с данными можно ускорить, использовав ее, как storage:


volumes:
- name: fast-volume
emptyDir:
sizeLimit: 15Gi
medium: Memory


Также хотелось упоминуть про прекрасные Docker образы mambaorg/micromamba, которые позволят юзать mamba (пакетный менеджер conda на C++), которые позволят поднимать модели на едином образе с любой версией питона и любым окружением, которое уже хранится в S3. Никаких образов на 2Gb+!


📌 Итого


Argo Workflows — это мощный инструмент для построения ML-пайплайнов в Kubernetes. Он гибко настраивается и имеет обширнейшую документацию. 95% всех моментов в ней описаны, оставшиеся 5% можно нарыть в API Doc, где показано, какие поля спецификаций имеются в инструменте. Все мелкие косяки, которые происходят фиксятся достаточно быстро, так как обновления идут почти каждые 2 месяца, если не быстрее.

Касательно реализации MLOps пайплайна: главное — понимать, какие этапы вам нужны, а с тем, как правильно описать в YAML, вам может помочь 100+ примеров на GitHub ну и строка поиска в доке.
👍42👾2🥰1🤩1
🔍 Недавно наткнулся на интересный инструмент — OpenWebUI. Делюсь впечатлениями

Если вы следите за развитием локальных LLM (больших языковых моделей), то наверняка сталкивались с проблемой: как удобно и быстро запустить модель у себя на машине и при этом получить красивый веб-интерфейс?

Я столкнулся скорее не с этой проблемой, а с тем, что мне нужно было как-то юзать ChatGPT, который работает под VPN. Последний как раз не очень дружил с моим рабочим VPN’ом, а переключение ради одного запроса выкидывало из удаленной тачки или отрубало доступ к Jira и прочим инфровым ресурсам 💩

И тут на помощь приходит OpenWebUI — это базовый и удобный фронтенд с открытым исходным кодом, который превращает локально запущенные модели в полноценный чат-интерфейс, напоминающий аналогичный ChatGPT.

🧩 Что такое OpenWebUI?
OpenWebUI — это self-hosted веб-интерфейс для работы с локальными и удалёнными LLM. Он не требует сборки, так как уже есть готовый набор Docker образов и просто запускается через Docker с подключением к разным бэкендам:
- Ollama
- Llama.cpp
- и другим через API

🛠️ Как работает?
1. Устанавливаете Docker.
2. Запускаете контейнер OpenWebUI.
3. Подключаете его к выбранному бэкенду (например, Ollama).
4. Открываете браузер и начинаете общаться с моделью через красивый интерфейс.

В моем случае, решением проблемы стало подключение к OpenAI proxy серверу, который имеет доступ к ChatGPT и общение в чатике через API ключ. Так как я стал достаточно редко в последние время использовать ChatGPT (тем более Pro версию), использование ключа сократило расходы, так как теперь я плачу лишь за использованные токены, а не за условный безлимит на месяц.

💡 Основные фичи:
1. Поддержка нескольких моделей — можно переключаться между ними в один клик.
2. Чат-интерфейс — с историей, перепиской, вложениями и т.д.
3. Интеграция с API — если вы подключаете удалённые модели.
4. Работа с документами — можно загружать PDF, тексты и обрабатывать их через модель, создавая тем самым полноценный RAG по вашей документации.
5. Мультипользовательский режим — с ролями и правами.

Ключевым здесь является, на мой взгяд, возможность поднятия локально модели, например, через Ollama, и доступа к ней. Наличие видеокарты не будет убивать ваш проц, загрузкой 99%, как у меня.
К сожалению, на маки поддержку GPU пока что не завезли

📦 Где посмотреть?
GitHub: https://github.com/openwebui/openwebui
Документация: https://docs.openwebui.com

⚡️ Итого
OpenWebUI — это классный инструмент, который дает возможность локально поиграться с LLM через многим привычный интерфейс. Предоставляет GUI надстройку над, например, Ollama или других движков. И как одна из киллер фичей, позволяет делать полноценный RAG буквально за пару минут.
🔥3🤩2🕊2🤯1
🔍 Сегодня утром проснулся — а в ленте уже GPT-5. OpenAI официально представила пятёрку.

7 августа 2025 года — дата, с которой можно начинать отсчёт новой эры ИИ-систем.
GPT-5 — это не просто апгрейд. Это интегрированная платформа с динамической маршрутизацией, многоуровневой безопасностью и адаптацией под задачу.

OpenAI явно сместила фокус: модель больше не просто «отвечает на вопросы», а встраивается в рабочие процессы — в бизнес, науку, медицину, разработку.

🧠 GPT-5 — это не одна модель, а семейство.

Внутри системы работает роутер, который в зависимости от запроса выбирает подходящую подмодель:

- gpt-5-main. Стандартная быстрая модель
- gpt-5-main-mini. Упрощённая и ещё более быстрая
- gpt-5-thinking. «Размышляющая» модель для сложных задач
- gpt-5-thinking-pro. Ускоренная reasoning-модель с параллельной обработкой
- gpt-5-thinking-nano. Компактная reasoning-модель для разработчиков

Роутер анализирует тип запроса и перенаправляет его в оптимальную модель.
Это снижает количество ошибок и повышает эффективность.

📉 Точность и безопасность

На реальных промптах:
- На 65% меньше галлюцинаций у gpt-5-thinking по сравнению с o3
- На 44% меньше серьёзных ошибок у gpt-5-main vs GPT-4o
- В медицинских задачах — снижение ошибок в 50 раз (HealthBench)

Появился механизм Safe Completions: модель не просто отказывает в генерации, а объясняет, почему запрос может быть опасным — особенно в dual-use сценариях (биология, химия, кибербезопасность).

GPT-5 Thinking отнесена к категории High Capability (обладающей потенциальным риском при злоупотреблении) — доступ к API только через Trusted Access Program.

💻 Программирование и Codex CLI

GPT‑5 полностью интегрирована в Codex CLI — инструмент, позволяющий использовать возможности модели в терминале. Пользователи ChatGPT с подпиской Plus, Pro или Team могут запускать Codex CLI без дополнительной платы за API.

Возможности:
- Генерирует код в вашем стиле (учитывает контекст и уже написанное)
- Отлаживает, пишет тесты, работает с файлами
- Интегрирована в Codex CLI — доступна через терминал
- Поддерживает контекст до 400K токенов


🔁 Как GPT-5 борется с «эффектом Бернулли»?

Это когда модель случайно выбирает неоптимальную цепочку рассуждений — и ошибается, хотя могла бы ответить правильно.

GPT-5 решает это несколькими способами:
- Динамическая маршрутизация — направляет запрос в подходящую модель
- Parallel Thought Sampling (в Pro) — запускает несколько цепочек рассуждений, выбирает лучшую
- Верификация логики — проверяет цепочку до финального ответа
- RLHF по reasoning — обучение на качественных рассуждениях, а не только на ответах

Результат: на 22% меньше критических ошибок в Pro-режиме.


💰 Цена и доступ
$1.25 за миллион входных токенов
$10 за миллион выходных
Для сравнения: GPT-4o был дороже при сопоставимой нагрузке.

Pro / Plus / Team — полный доступ к GPT-5 и GPT-5 Pro
Free — ограниченный reasoning (2–3 дня в неделю), потом переключается на gpt-5-mini
Enterprise / Edu — доступ открывается в течение недели
Codex CLI включён в подписку — отдельная оплата за API не нужна.

📌 Итого
GPT-5 — это переход от «умного чата» к интеллектуальной системе, встроенная в рабочие процессы.

Она:
- Рассуждает, а не просто генерирует
- Выбирает подходящую стратегию сама
- Безопасна, контролируема, точна
- Доступна разработчикам, аналитикам, учёным
- OpenAI больше не делает ИИ — они строят операционную среду для интеллектуальной работы.
👍1🔥1🎉1🤩1
🚀 Продолжая тему инструментов вокруг LLM, хочу поделиться впечатлениями про ещё одну интересную платформу — Dify.

Если OpenWebUI решает задачу удобного интерфейса для локальных или удалённых моделей, то Dify идёт дальше — это уже полноценный конструктор AI-приложений и MLOps-платформа.

🧩 Что такое Dify?

Dify — это open-source среда, ооочень сильно напоминающая N8n, которая помогает быстро создавать, тестировать и запускать приложения на базе LLM.
По сути, это Framework для разработки AI продуктов.

🛠️ Как работает?

1. Разворачиваем Dify (есть готовые Docker-образы).
2. Подключаете либо локально запущенную модель, либо через официальные API, например от OpenAI.
3. Собираете AI-приложение: чат-бот, ассистент, RAG-систему.
4. Тестируете и деплоите.

💡 Основные фичи:

1. Готовые блоки для сборки логики — накликиваем все через UI и сохраняем в JSON.
2. Управление пайплайнами — бесплатный аналог N8n.
3. Удобный редактор промптов — можно настраивать подсказки и тестировать их прямо в UI.
4. Поддержка RAG — загрузка и работа с собственными данными “из коробки”.
5. Маркетплейс шаблонов — есть уже готовые решения для быстрых запусков, доступные в Quick Start гайде.

⚡️ Почему это круто?

Если OpenWebUI — это удобный интерфейс, чтобы поиграться с моделями или использовать их локально, то Dify — это уже инструмент, чтобы строить полноценные AI-продукты: агенты, пайплайны.

По сути это некий аналог N8n, который однако имеет возможности делать не только пайплайны, но и просто ботов, как это предлагает OpenWebUI.

Как и в OpenWebUI, у нас есть так же возможность создать RAG пайплайн с Rerank моделями и подключением к разным векторным базам. Однако тут у нас есть также возможность и расширить его уже через полноценные пайплайны, которые будут загружать документы, более тщательно обрабатывая их и выдавать более релевантные результаты.

📦 Где посмотреть?
GitHub: https://github.com/langgenius/dify
Документация: https://docs.dify.ai

📊 Итог
Dify отлично дополняет OpenWebUI. Если первый даёт возможность и общаться с запущенными локально моделями (или внешними через API) через красивый UI, то второй помогает интегрировать эти модели в рабочие сервисы и продукты.
🆒6👍2🤩2
🛠️ Немного о новом формате канала

Привет! Решил немного поменять концепцию канала.

Раньше я делал более крупные, "тематические" посты — со структурой, глубиной и проработкой. Это было круто, но не всегда получалось делать это регулярно.

Теперь хочу перейти к более живому формату:
📌 делиться тем, над чем работаю;
📌 что новое интересное читаю, изучаю, пробую;
📌 иногда — подводить краткие итоги недели или делиться заметками "на подумать/почитать".

Без лишнего — просто регулярные небольшие посты про MLOps, ML, DevOps и всё, что мимо меня проходит в работе и обучении.

Если вы тут за практикой, наблюдениями из поля и подборками интересного — думаю, вам понравится.

Спасибо, что читаете 🙌
🔥21👍1😁1🤯1
🔜 О чём будем говорить дальше

Раз уж мы перешли на более "живой" формат, расскажу, о чём пойдут посты в ближайшее время — в виде заметок, размышлений и технических выкладок.

🧠 Про процессы и мышление

Что такое ретроспективы и как они реально могут влиять на продуктивность.

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

🛠️ Про инструменты и практику

Будет много коротких заметок про то, что тестирую/изучаю/внедряю в работе:
- FluxCD vs ArgoCD — в чём отличия и что стоит выбрать.
- GPU Operator и Multi-driver GPU установка на K8s.
- Как построить базовый RAG на OpenWebUI через внешние тулы буквально "за 0 рублей".
- Как шарить одну модель на команды через LiteLLM.
- MCP и оркестрация с MetaMCP.
- Появление DeepSeek OCR с поддержкой VLLM.
- А также EasyOCR и прочие нишевые тулзы, которые могут пригодиться.

Всё это — в формате коротких, понятных заметок, с реальными кейсами. Если хочется глубины по конкретной теме — всегда можно обсудить в комментах, в чате с возможными дальнейшими постами по определенной теме.

Поехали 🚀
1👍1🔥1🤯1
Также завтра 18 ноября в 18:00 будет небольшой стрим, где мы с автором канала @secrets_of_devops, Владимиром поговорим об MLOps

Буду рад всех видеть 🖐
👍21🔥1🥰1
Forwarded from Загадки DevOpsa
MLOps – что это такое и при чем тут DevOps?

18 ноября в 18:00 в прямом эфире на Twitch к нам в гости заглянет Александр Егоров.

Вместе с Сашей будем разбирать:

- почему без ML не получается нормально жить в проде;

- какие три кита MLOps на самом деле двигают всю магию под капотом;

- и где мы сталкиваемся со связкой MLOps сейчас.

Просто, без всяких галстуков, поговорим о будущем DeOps.

И ещё раз, для напоминалки: 18 ноября в 18:00!

Ссылка на трансляцию скину накануне, как и всегда😏
Please open Telegram to view this post
VIEW IN TELEGRAM
🕊21