Search
Write a publication
Pull to refresh
81
0
Alexander Komarov @izard

software optimization: CPU, GPU

Send message

Личный бренд в IT: как перестать быть «невидимкой» и начать получать повышения, приглашения и создавать сайд-проекты

Reading time7 min
Views46K

В IT принято думать, что имя делают строчки кода. Но когда ты уже senior, CTO или фаундер — код больше не говорит за тебя.

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

Читать далее

Как запустить локально LLM, если ее веса не помещаются в [видео]память

Level of difficultyMedium
Reading time4 min
Views23K

Некоторые люди предпочитают пользоваться не только облачными сервисами, но и запускать LLM у себя дома. Например, так можно запустить дообученные модели без цензуры, или не посылать в облако свои личные документы. А то и запускать бесчеловечные эксперименты над LLM так, чтобы superintelligence/skynet потом это не припомнил.



Есть много моделей, оптимизированых для быстрой работы на устройствах с небольшой памятью. Но, к сожалению, веса самых продвинутых моделей, которые играют в одной лиге с лучшими онлайн моделями, занимают сотни гигабайт. Например, 8-битные веса Deepseek R1-671B занимают 700 гигабайт, квантованые q4 — 350 гигов. Можно квантовать и в 1 бит, размер тогда будет около 100 гигов, но такая модель почти бесполезна. Еще есть много качественных finetunes на основе Mistral-Large-instruct-130B, Qwen2.5-72B, llama3.3-70B, веса которых также не помещаются в память старших моделей видеокарт.

Читать дальше →

Системные вызовы Linux, которые должен знать каждый разработчик

Level of difficultyMedium
Reading time7 min
Views17K

Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.

Читать далее

Как зарядить аккумулятор, не снимая его с автомобиля

Level of difficultyEasy
Reading time8 min
Views157K


Привет, Хабр! Зима — это серьёзное испытание для аккумуляторной батареи по совокупности целого ряда причин, поскольку при охлаждении:

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

Это ведёт к отказу запуска двигателя в самый неподходящий момент или даже непоправимой порче АКБ вплоть до трещины корпуса и утечки серной кислоты внутрь автомобиля.

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

Внутрипроцессная трассировка системных вызовов с использованием цепочного загрузчика

Level of difficultyMedium
Reading time13 min
Views1.7K

В этой статье мы разберём небольшой инструмент для трассировки системных вызовов. В отличие от strace и аналогов, здесь трассировка будет происходить внутри процесса, без применения ptrace() или эквивалентных вещей. Должен добавить, что это всего лишь демонстрационный пример, поэтому на практике он и близко не сравнится с strace. В частности, он пока не может точно выводить в консоль аргументы для большинства системных вызовов.

Именно на примере системных вызовов удобно продемонстрировать цепочную загрузку, и на то есть три причины...

Читать далее

Обзор уязвимостей для LLM. Часть 2. Защита

Reading time8 min
Views2.9K

В первой части статьи мы разобрали, что такое безопасность в контексте нейросетей, и чем safety отличается от security. Во второй части посмотрим, как защищаться от этих и других видов уязвимостей.

Привет, Хабр! Меня зовут Евгений Кокуйкин и я — руководитель AI-продуктов в Raft. Запускаю лабораторию AI Security в AI Talent Hub/ИТМО.

Читать далее

Открытые книги по ML и работе с данными

Level of difficultyEasy
Reading time5 min
Views11K

Мы регулярно публикуем подборки литературы для специалистов: делали дайджест книг для желающих поближе познакомиться с Postgres и Kubernetes. Сегодня на очереди справочники и пособия по машинному обучению, которые можно найти в открытом доступе. Эти материалы помогут погрузиться в ML, разобраться в базовых математических концепциях, понять тренды опенсорсных технологий для систем ИИ и перейти к работе с ML-платформой.

Читать далее

Тривиальное перемещение и рефлексия: реализуем фичу из C++26 в библиотеке

Reading time8 min
Views4.2K

В статье разработчик Барри Ревзин* объясняет, как можно определить и проверить свойства типов для обеспечения тривиального перемещения, разбирая нюансы эффективности, удобства и точности реализации. Основная проблема здесь в необходимости учёта всех особенностей типов, включая пользовательские функции, наследование и перегрузку. Это требует как сложных эвристик, так и новых инструментов языка. 

Под катом вы найдёте решение с аннотациями и механизмами рефлексии для создания гибкой и относительно компактной реализации. Автор показывает потенциал рефлексии в автоматизации задач, которые ранее требовали дополнительных усилий, и демонстрирует возможности для улучшения библиотек и кода на C++.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

Хакерские утилиты Дидье Стивенса

Level of difficultyMedium
Reading time6 min
Views31K


Дидье Стивенс — бельгийский разработчик и авторитетный специалист по информационной безопасности. Наиболее известен своими инструментами по взлому паролей Windows, анализу документов PDF и внедрению туда вредоносных файлов, а также как автор опенсорсных утилит Didier Stevens Suite: это 140 программ для системных операций с файлами, процессами, реестром и прочими штуками. Например, диспетчер задач Windows, реализованный в Excel/VBA (на КДПВ).
Читать дальше →

Делаем macOS безопаснее

Level of difficultyEasy
Reading time5 min
Views4.5K

Это руководство о безопасности, а не конфиденциальности.

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

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

Статья обновлена с выходом macOS Sequoia.

Читать далее

Забытые технологии: PPP

Reading time4 min
Views17K

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

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

Как это работало и зачем может пригодиться сегодня (а оно может).

Читать далее

Рекурсивные типы. Часть 5/5. Занимательный матан

Level of difficultyHard
Reading time18 min
Views1.8K

Содержание пятой части:

Натуральные числа
Разложение в ряд
Производные от типов
Производные от экспоненциалов
Производные от рекурсивных типов

Читать далее

Библиография киберпанка

Level of difficultyEasy
Reading time17 min
Views16K

Если вас всё ещё преследует вопрос о том, что бы почитать в жанрах протокиберпанк, киберпанк и посткиберпанк, гляньте одним глазком в мой библиографический обзор. Почти уверен, там есть книги, которые вы ещё не прочли. Не верите? Проверьте!

Читать далее

Учёная вылечила рак с помощью вирусов, которые сама вырастила в лаборатории

Reading time3 min
Views7.5K

Вирусолог Беата Халаши утверждает, что самостоятельное лечение сработало и принесло положительные результаты — но исследователи предупреждают, что такое лечение не стоит повторять.

Читать далее

Анонимный мессенджер — обязательный стандарт для каждого человека

Reading time8 min
Views68K


В наше время важность анонимности в интернете возросла многократно. Интернет уже не то место, где можно спокойно себя чувствовать, сегодня за лайк или неосторожную фразу в чате может прилететь несколько лет в тюрьме. Такова сегодняшняя реальность, и не только в РФ и РБ, но и в более цивилизованных странах.

Даже если вы сейчас не нарушаете никаких законов, ваш трафик и история сообщений сохраняются «где надо», а в будущем и законы изменятся, и архивы поднимут, можно не сомневаться. У нас законы имеют обратную силу.

Поэтому анонимное средство коммуникаций с надёжным шифрованием — это обязательный стандарт для нормального человека. Телеграм с секретными чатами — не самый лучший вариант. Чтобы гарантировать подобие анонимности, там нужно совершить ряд необязательных действий, включая покупку виртуального номера за TON'ы (сначала нужно купить эти TON'ы, что тоже нетривиальная процедура).

Спрашивается, зачем нужен виртуальный номер, если можно реализовать регистрацию вообще без номера, как в нормальных анонимных мессенджерах?
Читать дальше →

Ускорение генерации токена LLM в два раза для больших контекстов

Level of difficultyMedium
Reading time3 min
Views3.5K
Помимо ChatGPT и многочисленных конкурентов в облаке с веб-мордами и/или API, существует огромная экосистема для запуска LLM на собственном железе. На Huggingface на любой бюджет найдется модель для скачивания, которая влезет в видеопамять (или в RAM, можно и на CPU запускать, если пользователь терпеливый). Вчера здесь на Хабре была очень неплохая обзорная статья.

Самые популярные open source тулы для локального запуска LLM — llama.cpp и vllm (и их многочисленные обертки). У них немного разные ниши, и дальше я буду писать о llama.cpp. Она поддерживает все возможные комбинации железа и ОС — Linux, MacOS, Windows; x86 CPU, Arm, Apple Silicon CPU & GPU, Nvidia, AMD,… Но автор и мейнтейнер — Георгий Герганов использует для разработки Mac Studio. Почему такой выбор железа?

Производительность генерации каждого токена LLM в одном потоке ограничена вычислительной мощностью в процессе построения KV-кэша (анализ промпта до генерации первого токена), и пропускной способностью памяти при генерации последующих токенов. При этом в обоих случаях очень полезно уметь быстро загружать веса из видеопамяти в ALU видеокарты (или CPU).
Читать дальше →

Стандартное отклонение и стандартная ошибка: две статистики с похожими названиями, но разными смыслами

Level of difficultyMedium
Reading time9 min
Views52K

Я читаю курс статистического мышления магистрам, и одна тема вызывает у них явные затруднения — чем стандартное отклонение отличается от стандартной ошибки, и в каких случаях, применять ту или иную статистику. Думаю, будет интересно поговорить об этом в блоге ЛАНИТ.

Читать далее

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views76K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее

Гидротаранный Насос

Level of difficultyEasy
Reading time4 min
Views9.9K

Существует такое остроумное приспособление как гидротаранный насос. Его ещё называют гидро ударный насос или hydraulic ram.

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

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

В этом тексте я расскажу о своём опыте конструирования экземпляра этого прибора.

Читать далее

Кто реально угрожает C++ (нет, Rust, не ты)

Reading time14 min
Views81K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее
1
23 ...

Information

Rating
2,337-th
Location
München, Bayern, Германия
Registered
Activity

Specialization

Performance engineer
Lead
Performance Tuning