Как стать автором
Обновить
23
0.3

Пользователь

Отправить сообщение

Как котята лапками настраивают GPU в Kubernetes и при чем тут эффект Манделы

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров6.5K
image

Думаю, у каждого были ситуации, когда специальные инструменты помогали решать сложные рутинные задачи. Например, с помощью обжимки кабеля намного проще нарезать патчкорды, чем ножом и отверткой. Изоляция в Docker избавляет от беспорядка с зависимостями.

Привет, Хабр! Меня зовут Антон. Мне часто приходится настраивать инфраструктуру для обучения и инференсинга моделей на GPU в Kubernetes. Хочу поделиться волшебным инструментом, который позволяет это делать без костылей и велосипедов, если у вас лапки.

В этой статье расскажу и про боли при настройке GPU для ML-задач, и про лекарство — GPU-оператор. Разберемся на примере с GPU NVIDIA, но и для AMD общая концепция будет похожа. Ранее я выступал с этим материалом на конференции Pycon 2024.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+41
Комментарии0

Препарируем электрохомяка

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров2.5K

Я всегда смотрел на все "крипто-темы" с неким высокомерием. Мол это для тех, кто хочет легких денег. А работать, или вернее, зарабатывать деньги, своими навыками не хочет.

Но вот в один воскресный день, я посмотрел новости на YouTube, и среди разного рода дичи там упоминалась одна, мягко скажем, сомнительная, но ставшая крайне популярной "игра", всеми силами пытающаяся прибиться к крипте. Ее суть тебе, вероятно, знакома, и по ее кишочкам мы сегодня и пробежимся.

К слову, мое мнение относительно крипто-темок не изменилось - я все такой же высокомерный сноб, однако, быть может, по ходу этой статьи оно немного скорректируется.

Что же там такого интересного?
Всего голосов 13: ↑13 и ↓0+16
Комментарии5

Как использовать blue-green-деплой: руководство по выкату одного и нескольких приложений

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.2K

В статье я задеплою приложение в blue-green, а также покажу, как работает смена между blue и green на практике. Cначала рассмотрим реализацию деплоя приложения в blue-green-стратегии, а затем попробуем werf bundle для деплоя нескольких приложений из одного репозитория. Будем деплоить с помощью werf, все ресурсы описывать как Helm-шаблоны, а для развёртывания использовать GitLab.

Читать далее
Всего голосов 32: ↑30 и ↓2+35
Комментарии4

Настройка self-hosted K8s кластера с помощью RKE2 (Rancher)

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.8K

Имея за плечами опыт работы с Kubernetes в различных облачных провайдерах вроде AWS и Yandex Cloud я столкнулся с необходимостью развертывания кластера вне облака на виртуальных машинах. 

В статье расскажу про то, как подготовить high-availability кластер, используя инструмент под названием RKE2 - Rancher Kubernetes Engine.

Читать далее
Всего голосов 10: ↑10 и ↓0+12
Комментарии9

Математика прекрасного. Как создать красивую картинку, если ты дилетант, художник или нейросеть?

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров4.4K

Привет, Хабр, я Павел Бузин, работаю аналитиком в компании Cloud.ru и занимаюсь решением задач, требующих применения различных математических методов, в том числе используемых для машинного обучения. 

С появлением нейронных сетей почти каждый может попробовать себя в роли художника или дизайнера. Уверен, что будет неплохо максимально простым языком рассказать, каких правил стоит придерживаться, чтобы ваши работы получались на профессиональном уровне. В основе этих правил лежат закономерности, которые описаны на языке математики. Надеюсь, что понимание сути методов поможет вам найти новые и интересные дизайнерские решения.

В этой статье обсудим общие закономерности, так что если вы дизайнер, промпт-инженер или просто неравнодушны к прекрасному, вас ждет путешествие от Древней Греции до современных компьютеров с CAD и генеративными моделями. Математики и технари, добро пожаловать под кат, здесь вы будете чувствовать себя как дома. Гуманитарии, не пугайтесь, всё будет страшно только на первый взгляд.

Читать дальше
Всего голосов 2: ↑2 и ↓0+4
Комментарии5

С заботой о CPU: как найти узкое горлышко и сконфигурировать Postgres Pro

Время на прочтение4 мин
Количество просмотров4.6K

СУБД Postgres Pro – сложный механизм, который можно гибко настраивать под конкретный тип нагрузки. Для этого в нём имеется множество параметров и инструментов. Например, одним из главных потребителей ресурсов CPU является оптимизатор/планировщик запросов, который отвечает за построение оптимального плана выполнения. Существует большое количество параметров, которые прямо или косвенно влияют на работу планировщика, но к их изменению надо подходить очень осторожно, т. к. возможен обратный эффект. Например, параметры _collapse_limit могут и помочь оптимизатору рассмотреть большее количество вариантов планов, и негативно повлиять на время планирования.

Сегодня я расскажу, как мы решали реальную проблему производительности и высокой (> 90%) утилизации ресурсов CPU на промышленном «боевом» сервере с СУБД Postgres Pro Enterprise 15, обслуживающем запросы бизнес-приложения, какие для этого использовали инструменты и что мы изменили в настройках СУБД.

Читать далее
Всего голосов 11: ↑11 и ↓0+16
Комментарии9

Обзор изменений в WLJS Notebook

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1K

WLJS Notebook - это приложение, похожее на Jupyter и Mathematica. Пользовательский интерфейс сделан на Electron, а сервер работает на Wolfram Language. Т.е. это не очередная оболочка для Jupyter, а полностью самостоятельное приложение. Более подробно о проекте можно почитать в предыдущих статьях: Wolfram Language JavaScript Frontend и Open-source блокнот Wolfram Language или как воссоздать минимальное ядро Mathematica на Javascript. В этой статье я постараюсь рассказать о том, чего мы достигли за последнее время. Мы добавили новую функциональность, исправили множество ошибок оптимизировали взаимодействие с сервером и ускорили выполнение кода в интерфейсе. И конечно же внесли множество изменений в пользовательский интерфейс и улучшили графику. Обо всем этом подробнее под катом!

Читать далее
Всего голосов 7: ↑7 и ↓0+10
Комментарии3

[В закладки] 28 фишек Telegram, о которых знают не все

Время на прочтение9 мин
Количество просмотров27K

Telegram продолжает развиваться. Собрали новую подборку интересных и скрытых особенностей мессенджера, которые делают его еще удобнее.

Читать далее
Всего голосов 30: ↑19 и ↓11+15
Комментарии21

Практическая реализация современной аутентификации на платформе .NET: OpenID Connect, шаблон BFF и SPA

Уровень сложностиСредний
Время на прочтение34 мин
Количество просмотров2.2K

Построение современной и надежной системы аутентификации — задача, которая требует тщательного подхода. В огромном количестве информации легко запутаться: многие материалы представлены в неструктурированном виде, а часть из них и вовсе описывает устаревшие или даже небезопасные в настоящее время методы и подходы. К тому же каноническое описание шаблона Backend-For-Frontend (BFF) довольно абстрактно и вызывает сложности в практической реализации у многих разработчиков.

Это подтолкнуло меня создать подробное и максимально доступное руководство, посвященное реализации современного подхода к аутентификации на платформе .NET с использованием OpenID Connect, архитектурного шаблона Backend-For-Frontend (BFF) и распределению ответственности между одностраничным приложением (SPA) на React и серверным API.

В статье рассматриваются ключевые аспекты настройки аутентификации, такие как использование потока Authorization Code с Proof Key for Code Exchange (PKCE) и интеграция его с одностраничными приложениями (SPA) на React. Приведены примеры на базе .NET и React, включающие пошаговые инструкции по настройке клиента OpenID Connect и BFF, а также демонстрируется использование библиотеки YARP для проксирования запросов к внешним API. В результате выполнения инструкций вы самостоятельно создадите полнофункциональное приложение с безопасной аутентификацией и надежным взаимодействием с внешними сервисами и разберетесь в его внутреннем устройстве и взаимодействии с другими сервисами.

Читать далее
Всего голосов 5: ↑4 и ↓1+6
Комментарии10

Процесс, который продолжал умирать

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.8K

В этой статье я изложил суть своего выступления, которое состоялось в рамках проводимой нашей компанией образовательной программы «Lunch n' Learn».

Если вас просто интересует, как искать утечки памяти в Node, переходите сразу к Части 2 (но тогда вы упустите всю невероятную предысторию).

Это рассказ об умершем процессе и о наших злоключениях в попытке найти его убийцу с целью призвать негодяя к правосудию. Если говорить точнее, то этот процесс продолжал умирать циклически, но такая картина нарушает проводимую мной аналогию, поэтому попрошу вас не придавать этому большого значения. Наша история начинается с периодического возникновения ошибки 502 Bad Gateway — загадки, которую предстояло разрешить.
Читать дальше →
Всего голосов 41: ↑37 и ↓4+54
Комментарии4

Эффективная постановка и ведение задач в IT-проектах

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8K

Привет, Хабр!

Как Frontend-разработчик, я в одной из своих прошлых работ столкнулся с проблемой неэффективной постановки задач в моей команде. Это привело к потере времени, недопониманию и снижению качества работы. Например, однажды мы потратили целую неделю на разработку функциональности, которая в итоге оказалась не той, что ожидал заказчик из-за неполного описания требований. В другой раз из-за отсутствия четких критериев приемки мы трижды возвращались к доработке уже "готовой" задачи.

В этой статье я поделюсь результатами своего исследования и практическими рекомендациями по улучшению процесса постановки и ведения задач, которые мы теперь применяем в работе.

Шаблоны и примеры задач будут в конце статьи.

Читать далее
Всего голосов 15: ↑13 и ↓2+14
Комментарии4

Топ методов, чтобы бросить курить

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.1K

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

Читать далее
Всего голосов 12: ↑6 и ↓6+2
Комментарии5

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров622K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 360: ↑357 и ↓3+412
Комментарии1044

Алкогольное опьянение. Как влияет на мозг, как справиться с похмельем и есть ли в алкоголе зерно пользы?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.2K

Люди, которые говорят, что пить надо больше, и люди, которые говорят, что пить надо меньше, правы в одном. Пить надо. А вот что именно, в каких дозах и стоит ли уходить в алкогольное опьянение — мы и попробуем разобраться.

Читать далее
Всего голосов 21: ↑15 и ↓6+14
Комментарии31

Сборка Min.io dev кластера в контейнерах

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров4.1K

Сборка Min.io dev кластера в контейнерах с tls, site replication, nginx и мониторингом.

Статья представляет собой пошаговое руководство для разворачивания кластерного minio в контейнерах от bitnami. Доступ в кластер будет организован через nginx. Также рядом развернем однонодный minio. Объединим эти 2 minio с помощью site-replication. Создадим тестового пользователя, тестовую политику, тестовый бакет и попробуем с ним работать. Закончим настройкой мониторинга: дефолтные prometheus для сборки метрик и grafana для отрисовки дашбордов.

Читать далее
Всего голосов 7: ↑7 и ↓0+11
Комментарии7

Настройка на роутерах Keenetic отдельной WiFi сети с внешним подключением через WireGuard

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров55K

В последнее время  удручающе регулярно прилетали вопросы из серии "что сделать, чтобы Youtube на (не-шибко) умном телевизоре опять заработал?". Если ограничиться сугубо техническими аспектами возникшей неурядицы, то на достаточно широко распространённых домашних роутерах Keenetic есть возможность порешать проблему мышкой-менюшкой.

В общем-то вся инструкция сводится к фразе "поднимите с роутера WireGuard соединение КУДА_НИБУДЬ и настройке отдельную WiFi сеть с этим WireGuard как внешним соединением", но зачастую спрашивающие хотели бы видеть скучную пошаговую инструкцию.

Чтобы не плодить сущности – подготовил статейку с пошаговой инструкцией.

Читать далее
Всего голосов 28: ↑28 и ↓0+35
Комментарии74

Fine-tuning больших языковых моделей в 2024 году

Время на прочтение14 мин
Количество просмотров4.2K

Не секрет, что большие языковые модели (LLM) эволюционируют с безумной скоростью и привлекают внимание всей отрасли генеративного ИИ. Корпорации не просто заинтригованы, они одержимы LLM, и в частности, потенциалом fine-tuning LLM. В исследования и разработку LLM сейчас вкладываются миллиарды долларов. Лидеры отрасли и энтузиасты технологий всё сильнее стремятся углубить своё понимание LLM и их fine-tuning. Эта сфера natural language processing (NLP) постоянно расширяется, поэтому критически важно иметь актуальную информацию. Польза, которую LLM могут принести вашему бизнесу, зависит от ваших знаний и понимания этой технологии.

Цикл жизни большой языковой модели состоит из множества важных этапов, и сегодня мы рассмотрим один из самых любопытных и активно развивающихся частей этого цикла — процесс fine-tuning моделей LLM. Это трудозатратная, тяжёлая, но перспективная задача, используемая во многих процессах обучения языковых моделей.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+5
Комментарии2

Внутри S3. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров22K

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

Так что сегодня я расскажу, как сделать так, чтобы ни один клиент, даже с самым неудобным паттерном нагрузки, не положил сервис.

Читать далее
Всего голосов 71: ↑70 и ↓1+84
Комментарии52

Простой способ развернуть локальный LLM

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров12K

Большие языковые модели (LLM, Large Language Models) стали незаменимыми инструментами для разработчиков и исследователей. С их помощью можно решать разнообразные задачи.. Однако использование таких моделей часто связано с зависимостью от внешних сервисов, что накладывает определённые ограничения. Локальное развертывание LLM позволяет сохранить контроль над данными и гибко настроить модель под конкретные нужды, используя при этом преимущества локальной инфраструктуры.

В этой статье я бы хотел рассказать о преимуществах локального развертывания LLM и рассмотрим несколько open-source решений, которые можно использовать для этой цели.

Читать далее
Всего голосов 13: ↑12 и ↓1+16
Комментарии11

Представляем Taiga UI v4: еще больше компонентов и улучшений

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров9.5K

Рад поделиться, что мы опубликовали первый стабильный релиз четвертой мажорной версии Taiga UI — нашей огромной библиотеки компонентов для Angular. Улучшений в нем так много, что одной статьи едва ли хватит. Расскажу про самые аппетитные из них.

Читать далее
Всего голосов 35: ↑33 и ↓2+32
Комментарии9

Информация

В рейтинге
2 172-й
Зарегистрирован
Активность