В индустрии машинного обучения происходит небывалый беспрецедентный бум, и главный двигатель этого праздника технологий, генерирующего сверхприбыли для больших компаний, — графические процессоры (GPU). В битве за долю рынка ИИ-ускорителей можно выделить двух титанов индустрии GPU — NVIDIA и AMD. Несмотря на то, что во всех остальных сферах, кроме ИИ, AMD периодически подаёт надежду на превосходство над NVIDIA, во всём, что касается машинного обучения, NVIDIA обладает почти что абсолютной властью над рынком. Эта компания, благодаря своей дальновидной стратегии, сумела не только завоевать доверие разработчиков, но и фактически создать экосистему, ставшую стандартом де-факто в области глубокого обучения. AMD же, несмотря на свой богатый опыт в производстве высокопроизводительных процессоров, оказалась на периферии этого стремительно растущего рынка.
Developer, Performance Engineer
Простой способ развернуть локальный LLM
Большие языковые модели (LLM, Large Language Models) стали незаменимыми инструментами для разработчиков и исследователей. С их помощью можно решать разнообразные задачи.. Однако использование таких моделей часто связано с зависимостью от внешних сервисов, что накладывает определённые ограничения. Локальное развертывание LLM позволяет сохранить контроль над данными и гибко настроить модель под конкретные нужды, используя при этом преимущества локальной инфраструктуры.
В этой статье я бы хотел рассказать о преимуществах локального развертывания LLM и рассмотрим несколько open-source решений, которые можно использовать для этой цели.
Эй, компьютер, создай-ка мне шрифт
Это история о том, как я с нуля осваивал создание генеративных моделей МО, попутно обучая компьютер создавать шрифты. Да, настоящие типографские шрифты, состоящие из набора заглавных глифов. Созданная мной модель получает на входе описание шрифта и создаёт на выходе файл с их готовым набором. Назвал я свой проект FontoGen.
Выше вы видите несколько примеров шрифтов, сгенерированных моделью FontoGen.
Ну а дальше я подробно опишу всю историю.
Почему я люблю IKEv2 больше других VPN
Сейчас все вокруг настраивают VPN для удаленных сотрудников. Мне больно смотреть, как люди устанавливают монструозные глючные программы, настраивают какие-то сертификаты, устанавливают драйвера TUN/TAP и делают множество сложных операций, в то время как лучшее решение уже встроено в операционную систему.
IKEv2 — это современный протокол VPN, разработанный Microsoft и Cisco. Он используется по умолчанию для новых VPN-подключений в Windows, macOS, iOS. Он быстрее и безопаснее большинства VPN-протоколов и может легко настраиваться на стороне клиента в два клика без использования сторонних программ.
Я считаю, что IPsec IKEv2 отлично подходит не только для соединения серверов, но и для обычных VPN-подключений конечных пользователей. В этом посте я постараюсь убедить вас использовать IPsec IKEv2 для обычных домашних пользователей вместо OpenVPN.
Дорожная карта для изучения Java
Java — настолько популярный и развитый язык, что контента на любую связанную с ним тему хоть отбавляй. Будь то технические разборы, обзоры популярных библиотек с открытым исходным кодом, статьи о поиске работы Java-программистом, сравнение с другими языками — всего не перечесть. Поиск по слову «java» в гугле выдал мне около 1,56,00,00,000 (?) результатов.
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Топ полезных SQL-запросов для PostgreSQL
Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.
17 убойных репозиториев GitHub, которые нужно сохранить
Здесь собраны лучшие и самые полезные репозитории Github, которые будут служить вам долгое время.
Как войти в IT?
Цель статьи помочь желающим войти в IT, либо показать, что оно им не нужно.
На фоне большого количества отрицательных отзывов об образовательных платформах, человек решил сменить профессию и часто всегда цель перейти в IT сферу. Ни для кого не секрет, что одна из причин такого явления — агрессивная реклама платформ, которые предоставляют различные курсы, после которых, по их заверениям человек получит профессию мечты с высокой оплатой труда.
Возможно, что людьми просто движет желание "легко" зарабатывать деньги, с такими же эмоциями и воображениями о жизни без забот люди вкладываются в финансовые пирамиды. Доходит ведь до того, что люди берут кредиты, залезают в долги, чтобы пройти волшебный курс и начать зарабатывать большие суммы. И неожиданно выясняется, что человек то в прошлом "дружил" с компьютером и информатика ему в школе нравилась, просто по каким-либо причинам пошел не по профессии. Тут мне кажется, что люди пытаются выдать желаемое за действительное, чтобы как-то дополнить свои желания и мечты, и чувствовать себя увереннее.
Платформы с курсами понимают психологию и используют ее в своих целях. Они всеми способами убеждают человека, что он будет легко зарабатывать много денег, нужно лишь пройти их курс. Продавцы знают, что какой-то процент не дойдет и до середины курса, часть из оставшихся не смогут сдать выпускной проект, и только часть из закончивших смогут получить где-то работу, но точно не на зарплату, которая была заявлена в рекламе. Но никто об этом не скажет.
Надеюсь, что статья поможет хотя бы одному человеку найти свое призвание, либо уберечь его от ошибки.
Вычисляем на видеокартах. Технология OpenCL. Часть 0. Краткая история GPGPU
Мы подготовили для вас его текстовую версию, для удобства разбив её на смысловые блоки.
- 0 (вводная часть). Зачем мы здесь собрались. Краткая история GPGPU.
- 1. Пишем для OpenCL.
- 2. Алгоритмы в условиях массового параллелизма.
- 3. Сравнение технологий.
Основная цель цикла — написать простую, но полноценную программу на OpenCL и объяснить базовые понятия. Программу на OpenCL напишем уже в следующей части цикла, понять которую можно, не читая вводную. Однако во вводной вы найдёте понятия и тезисы, важные при программировании с OpenCL.
Цикл будет полезен и тем, кто уже знаком с OpenCL: в нём мы поделимся некоторыми хаками и неочевидными наблюдениями из собственного опыта.
CPU — в помойку?
В статье будем рассматривать технологию GPGPU. Разберёмся, что значат все эти буквы. Начнем с последних трёх — GPU. Все знают аббревиатуру CPU — Central Processor Unit, или центральный процессор. А GPU — Graphic Processor Unit. Это графический процессор. Он предназначен для решения графических задач.
Но перед GPU есть ещё буквы GP. Они расшифровываются как General-Purpose. В аббревиатуре опускают словосочетание Computing on. Если собрать всё вместе, получится General-Purpose Computing on Graphic Processor Unit, что по-русски — вычисления общего назначения на графическом процессоре.
То есть процессор графический, но мы почему-то хотим вычислять на нём что-то, что вообще к графике никакого отношения не имеет. Например, прогноз погоды, майнинг биткоинов. Моя задача в ближайшее время — объяснить, зачем нужно на процессоре для графики обучать, например, нейросети.
Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз
В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.
Самые зрелищные игры для тех, кто не любит играть
Не всем нравится играть в компьютерные игры. Представьте — вы общаетесь с идеальным новым партнёром, разделяющим многие ваши предпочтения и интересы, но на вопрос о том, что ему нравится, шутеры или RPG, он отвечает: «Ой, я на самом деле не особо играю в игры, но мне нравится Candy Crush, это считается?»
Прежде чем вы скажете «понятно, пока» и удалитесь на пенсию в окружении кошек, вспомните, что за некоторыми играми для PC так же интересно наблюдать, как и играть, особенно если зритель не игрок. Возможно, они даже поспособствуют тому, что ваша вторая половинка попробует окунуться в мир гейминга. И вот вы уже совместно организуете рейды и спорите, какая из частей Fallout лучше… или же останетесь в одиночестве. Но рискнуть всё равно стоит.
Одни жанры игр намного зрелищнее других. Перемещение ползунков и просмотр статистики в масштабной стратегии может быть интересным игроку, но для большинства остальных это будет сравнимо по увлекательности с наблюдениями за таблицами Excel.
В этой статье мы представим отсортированный по категориям список лучших игр, за которыми будет интересно наблюдать. Вероятно, вы заметите, что в списке часто встречаются хорроры; они определённо интересны для просмотра, а поскольку в большинстве подобных игр у игроков нет оружия, просмотр оказывается невероятно напряжённым.
Бесплатные образовательные курсы: бэкенд-разработка
Без бэкендеров не сможет нормально функционировать ни один сайт или приложение. Они проектируют алгоритмы взаимодействия сайта с пользователем и другими интернет-сервисами. Другими словами, бэкенд-разработчики создают и оживляют мозг, который принимает запросы, общается с базой данных и передает нужную информацию юзеру.
Сегодня мы отобрали 19 бесплатных курсов из раздела Образование на Хабр Карьере. Они дадут вам базовые знания о языках и технологиях, которые используются в бэкенде, и помогут определиться, нужно оно вам или нет. При выборе мы смотрели на содержание, количество выпускников и репутацию школ.
Как мы учились эксплуатировать Java в Docker
- CPU лимиты
- Docker и server class machine
- CPU лимиты (да, опять) и фрагментация памяти
- Обрабатываем Java-OOM
- Оптимизируем потребление памяти
- Ограничиваем потребление памяти: heap, non-heap, direct memory
- Ограничиваем потребление памяти: Native Memory Tracking
- Java и диски
- Как за всем уследить?
Германия, или Туда и Обратно — 1
После пары дежурных фраз «как сам, как дети» меня позвали работать в Германию.
Я крепко призадумался.
С одной стороны, никогда не рассматривал работу за рубежом как что-то реальное. С другой — приглашение было от старых боевых товарищей. Слова «фирма компенсирует расходы», «приезжай, будем разработку налаживать, немцев нанимать» долго вертелись в голове и не давали покоя.
Итак, под бой курантов мы с супругой приняли решение: «Ехать!»
Кто хочет прочитать про мой увлекательный, но весьма субъективный опыт переезда в Германию — добро пожаловать под кат.
Как устроена графика в Linux: обзор различных сред оформления рабочего стола
Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.
Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).
Источник
Ускоряем Ansible
Ни для кого не секрет, что с настройками «по умолчанию» Ansible может делать своё дело не слишком быстро. В статье я укажу на несколько причин этого и предложу полезный минимум настроек, которые, вполне возможно, реально увеличат скорость работы вашего проекта.
Как правильно мерять производительность диска
Предупреждение: много букв, долго читать.
Лирика
Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
- научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
- использование bonnie++
- использование iozone
- использование пачки cp с измерениема времени выполнения
- использование iometer с dynamo на 64-битных системах
Это всё совершенно ошибочные методы. Дальше я разберу более тонкие ошибки измерения, но в отношении этих тестов могу сказать только одно — выкиньте и не используйте.
Унифицируем арсенал Gatling
Тестирование производительности — это непрерывный процесс оптимизации, контроля быстродействия систем и подтверждения их отказоустойчивости как на стадии моделирования и проектирования, так и на каждой итерации внесения изменений.
Сейчас в Тинькофф мы активно занимаемся развитием тестирования производительности наших сервисов, в том числе развиваем инструменты для тестирования. В качестве основного инструмента для генерации нагрузки используем Gatling. Вот его основные преимущества:
- Плагин Gatling SBT позволяет очень просто запускать тесты из CI-систем.
- Gatling хорошо подходит для командной работы над проектами. Cкрипты представляют собой человекочитаемый код на Gatling DSL, его удобно хранить в git и версионировать.
- В дополнение к стандартному функционалу Gatling существует возможность использовать любой Scala/Java-код внутри проекта, а также подключать зависимости от любых доступных библиотек Scala/Java, что позволяет создавать тесты для специфичных протоколов и выполнять дополнительные действия по подготовке тестовых данных или расширенному анализу результатов.
В этой статье расскажу о двух проектах, которые позволяют нам переиспользовать часто применяемые типовые решения и ускорить разработку проектов Gatling.
Какие проблемы решаем
Минисериал: троичный компьютер своими руками
Многие утверждали, что строят троичный компьютер, однако, насколько мне известно, никто не завершил проект. Проект Триадор не дает пустых обещаний!
Я строю очень простой, но функциональный и при этом бескомпромиссно троичный вычислитель, основанный на сбалансированной троичной системе счисления. Весь компьютер будет построен только на базе троичных мультиплексоров, которые собраны из аналоговых ключей. Следите за мини-сериалом о постройке моего вычислителя на ютубе:
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity