Pull to refresh
-15
0
Павел @WebPeople

Менеджер проектов

Send message

Как правильно тестировать конкурентные структуры данных

Level of difficultyMedium
Reading time19 min
Views1K

Есть потрясающая библиотека Rust под названием loom, которую можно использовать для тщательного тестирования неблокируемых (lock-free) структур данных. Я давно хотел разобраться, как она работает. И сейчас хочу! Но недавно я случайно реализовал небольшой эксперимент, который, как мне кажется, содержит часть идей loom, поэтому о нём стоит написать. Моя цель — не научить вас тому, что нужно использовать на практике (если вы хотите этого, то почитайте документацию loom), а, скорее, вывести пару идей из фундаментальных принципов.
Читать дальше →
Total votes 14: ↑14 and ↓0+23
Comments1

Локальные LLM в разработке: а почему бы и да?

Level of difficultyMedium
Reading time12 min
Views1.7K

Меня зовут Антон Гращенков, и я занимаюсь развитием Java в Альфа-Банке. Программированием увлекаюсь ещё со школы: писал на множестве разных языков — от Pascal до TypeScript, мне это просто нравится. В статье я на примерах покажу, для каких задач я использую локальные модели. Да, существует много инструментов доступных в облаке, — тот же ChatGPT, Copilot или YandexGPT. Однако можно запустить такую модель и локально, и сделать это крайне просто. 

Ведь если хочется, то почему бы и да?

Читать далее
Total votes 14: ↑14 and ↓0+15
Comments2

Секреты логических операторов в Python

Level of difficultyMedium
Reading time8 min
Views10K

Логические операции играют важную роль в программировании. Они используются для создания условных конструкций и составления сложных алгоритмов. В Python для проведения логических операций используются логические операторы:

not — логическое отрицание

and — логическое умножение

or — логическое сложение

В этой статье мы поговорим о неочевидных деталях и скрытых особенностях работы логических операторов в Python.

Читать далее
Total votes 71: ↑69 and ↓2+75
Comments25

От первокурсника до программиста: история 4 лет обучения в ВУЗе на программиста

Level of difficultyEasy
Reading time9 min
Views29K

В этом году я окончил бакалавриат “Прикладная информатика: в экономике”. Поэтому пока память свежая, хотел предоставить небольшую выжимку из 4 лет моего обучения.

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

2 курс

Во втором курсе довольно много было предметов связанных с ...

Читать далее
Total votes 67: ↑52 and ↓15+42
Comments122

Эффективный запуск и инференс LLM на своем сервере с нуля (часть 1)

Level of difficultyMedium
Reading time10 min
Views3.9K

Привет, Хабр! На связи CEO команды Compressa AI. Недавно обнаружил для себя крутой базовый курс по эффективному запуску и инференсу LLM моделей от легенды AI мира — Andrew NG и его платформы DeepLearning. Он полностью на английском языке в формате видео, поэтому я осмелился адаптировать его под формат Хабра на русском языке. Знания должны быть доступны всем и в удобной форме, так ведь?

Многие команды (включая и Compressa AI) начинали LLM проекты с использования облачных API. Но по мере развития все больше разработчиков хотят использовать open-source LLM, чтобы экономить на токенах, снижать latency, запускать fine-tuning на собственных данных и в целом меньше зависеть от внешних моделей.

Из этого курса вы узнаете детали эффективного обслуживания и дообучения open-source LLM, включая методы обработки множества запросов от нескольких пользователей. Используя несколько таких методов одновременно, вы можете улучшить как задержку (latency), так и пропускную способность (throughput). Например, благодаря применению последних open-source технологий в своем продукте, мы добились увеличения пропускной способности до 70x на 1 GPU в сравнении с дефолтными Hugging Face & PyTorch.

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

Читать далее
Total votes 20: ↑20 and ↓0+24
Comments12

Как мы спасаем жизни с помощью геймификации

Reading time9 min
Views5.3K

Привет, Хабр! Меня зовут Илья Ульянов, я архитектор информационных систем и руководитель проекта «Охота на риски» в ЕВРАЗе. Расскажу вам, что необычного в дизайне этого проекта. 

Концепция — совместить геймдев и металлургию. Звучит уже непривычно: с каждой из этих сфер я работал, но не с обеими сразу. Тем интереснее была задача.

Заядлый геймер, выполняющий задания за вознаграждения и место в рейтинге, — далеко не первое, что ассоциируется с суровыми горняками и металлургами. Где видеоигры, а где техника безопасности и мониторинг инцидентов? Командная работа, ачивки, тематические сезоны — этого не может быть в цехах. Или может?

Реальность, как это нередко бывает, оказалась куда неожиданнее самых смелых предположений. Идея совместить две, казалось бы, слабо совместимые вещи принесла хорошие результаты. О том, как мы запустили мобильное приложение “Охота на риски”, рассказываем в этой статье.

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments7

Всё, что вам нужно — это линейное внимание

Level of difficultyHard
Reading time9 min
Views5.3K

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

Говорят, что механизм внимания плохо переносит работу с последовательностями большой длины. Это — идея, которая встречалась любому, кто потратил достаточно много времени, занимаясь трансформерами и механизмом внутреннего внимания. Это, одновременно, и так, и не так. С одной стороны — с этим сталкивался каждый, кто пытался увеличить размеры контекста своей модели, натыкаясь при этом на то, что модель начинала работать с сильным скрипом. С другой стороны — возникает такое ощущение, что практически каждую неделю выходит новая эталонная модель, которая характеризуется новыми размерами контекста, бьющими все рекорды. (Контекстное окно Gemini составляет 2 миллиона токенов!)

Есть много хитроумных методов, вроде RingAttention, которые позволяют обучать модели с очень большими размерами контекста на мощных распределённых системах. Но сегодня меня интересует всего один простой вопрос: «Как далеко можно зайти, применяя лишь механизм линейного внимания?».

Читать далее
Total votes 10: ↑10 and ↓0+18
Comments7

Оцениваем алгоритмы планирования процессов в операционных системах

Level of difficultyMedium
Reading time17 min
Views3.9K

Планирование процессов в операционных системах — это как умение акробата балансировать на тонкой нити. Этот незаметный сложный механизм определяет, как ваш компьютер управляет своими ресурсами. На первый взгляд все кажется просто: переключайте задачи на процессоре как можно быстрее, чтобы минимизировать время простоя и максимизировать общую производительность. Но в реальности это глубокий исследовательский вопрос, который требует учета множества факторов: приоритетов задач, доступности ресурсов и оптимизации. Давайте разбираться вместе!
Читать дальше →
Total votes 32: ↑29 and ↓3+37
Comments6

ОПТИЧЕСКИЕ ПРОЦЕССОРЫ

Level of difficultyEasy
Reading time5 min
Views5.1K

Все мы понимаем, что рано или поздно кремниевая технология, используемая сегодня для создания процессоров, достигнет своего предела. Это как с нефтью – рано или поздно она закончится – вот поэтому уже сейчас начинают разрабатывать альтернативные энергетические технологии! Точно такая же ситуация сложилась и в мире информационных технологий – кремниевой технике начинают искать замену. Бегущие по проводникам, как танки, электроны довольно непрактичны – как минимум теряется значительная часть их энергии, выделяясь в виде тепла и электромагнитного излучения, хотя это не единственный минус. Причем на рассмотрение предлагаются абсолютно разные варианты замены – от биокомпьютера до оптических процессоров. Стоп! А что это такое? Вряд ли у каждого из нас на столе, скажем, через десять лет будет стоять компьютер из бактерий, а вот то, что в компьютере будущего будет установлен оптический процессор – вполне реально. Сегодня мы поговорим об этом чуде рук человеческих.

Рассмотрим преимущества оптической технологии:

· Можно параллельно передавать двумерные массивы за один световой импульс.

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

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

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

Читать далее
Total votes 9: ↑6 and ↓3+6
Comments45

Ускорение работы в терминале

Level of difficultyEasy
Reading time17 min
Views21K

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

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

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

Читать далее
Total votes 18: ↑14 and ↓4+12
Comments80

Как использовать лазерный диод для голографии

Reading time13 min
Views3.6K

– Алексей, у тебя лазер свободный есть? Ну, давай хоть газовый…

А. Стругацкий, Б. Стругацкий.

Понедельник начинается в субботу

Голограмма – это маленькое чудо! Она способна восхищать своим чарующим блеском и тайной спрятанного в двумерную плоскость третьего измерения. Мы уверены, что кое-кто из вас уже загорелся желанием попробовать сотворить это чудо.

Читать далее
Total votes 9: ↑6 and ↓3+7
Comments7

Основные команды Pip для разработчиков Python

Level of difficultyEasy
Reading time7 min
Views6.6K

Pip, система управления пакетами для Python, является незаменимым инструментом для каждого программиста на этом языке. Работаете ли вы над веб-разработкой, машинным обучением, Data Science или любым другим проектом на Python, pip позволит вам легко получить доступ к обширному репозиторию библиотек и фреймворков.

Читать далее
Total votes 17: ↑11 and ↓6+5
Comments8

Четыре принципа разработки ПО, которым я научился на горьком опыте

Reading time4 min
Views20K
Недавно я спроектировал и написал огромный сервис, и в прошлом месяце (наконец-то) состоялся его запуск. В процессе проектирования и имплементации я обнаружил, что ряд закономерностей, которые я приведу ниже, раз за разом всплывает в самых разных сценариях.

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

Хотелось бы отметить здесь одну вещь: разумеется, для каждого из принципов есть свое место и время. Как и во всех прочих случаях, важно учитывать нюансы. Я склонен держаться этих заключений в общем случае, по той причине что, как я вижу по опыту инспекции кода и документации, люди часто принимают противоположный образ действия как вариант по умолчанию.
Читать дальше →
Total votes 44: ↑42 and ↓2+50
Comments25

Фазовое состояние мозга и готовность провалиться в неизвестность

Level of difficultyEasy
Reading time3 min
Views5.2K

Может кто еще помнит сериал «Грань», в котором Дэнетор накачивался ЛСД, держал в лаборатории коров и путешествовал между параллельными вселенными. Так уж сложилось, что реальность предлагает теории, куда более смелые. Новое открытие описывает наше состояние мозга, как «застывшее в точке перехода». Но между какими стадиями находится эта точка?

Читать далее
Total votes 17: ↑7 and ↓10+2
Comments16

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

Level of difficultyMedium
Reading time14 min
Views31K

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

Читать далее
Total votes 46: ↑41 and ↓5+46
Comments32

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

Level of difficultyEasy
Reading time12 min
Views26K

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

Меня расстраивает несправедливость в мире IT: для новичков-разработчиков есть куча пошаговых инструкций, о там, как разработать API или мобильное приложение. Хочу немного уровнять баланс вселенной, поэтому я написал небольшой гайд для аналитиков для составления документации.

В прошлой статье я представил шаблон, а теперь заполнил его для фичи «Экспресс-доставка товара в маркетплейсе». Моя цель – показать, как можно вести документацию и как правильно заполнять этот шаблон.

Читать далее
Total votes 54: ↑51 and ↓3+53
Comments24

Управление проектами: обзор публикаций за неделю

Level of difficultyEasy
Reading time5 min
Views2.8K

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

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments1

Ультимативный Гайд По Эффективному Обучению (для влёта в IT с двух ног)

Level of difficultyEasy
Reading time10 min
Views50K

Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу, как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.

Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана — получить максимальный результат при минимальных затратах времени и сил.

Читать далее
Total votes 71: ↑63 and ↓8+64
Comments64

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Level of difficultyHard
Reading time44 min
Views147K

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью Dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Total votes 23: ↑20 and ↓3+19
Comments65

Воспитание Obsidian — вашего персонального информационного менеджера

Reading time5 min
Views122K


Методик повышения личной эффективности хоть пруд пруди. Как по мне, основная проблема с ними в том, что нужно работать самому. Совершенно нормальное стремление — избежать приложения усилий. Пускай хорошая методика и есть тот рычаг, коим обещают сдвинуть Землю, но физика знает, что всю-всю работу делать всё равно нам самим. Основной вопрос, терзавший меня в вопросе выбора персонального информационного менеджера заключался в том, что он будет делать вместо меня. Задача была не самая лёгкая. За короткий срок разобраться в новой области — организовать конспекты, классифицировать справочники и литературу по теме. Море открытых вкладок браузера (всё очень нужное, оно не должно скрыться из глаз), pdf-файлы, заботливо присланные новыми коллегами… С этим всем в голове я познакомился с программой Obsidian, которая пообещала стать A second brain, for you, forever.

Читать дальше →
Total votes 38: ↑34 and ↓4+41
Comments18
1
23 ...

Information

Rating
3,830-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Project Manager, Product Manager
Senior