Как стать автором
Обновить
20
0.1
Роман @softaria

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

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

AI-ассистент со Spring AI (Часть I)

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

В новом переводе от команды Spring АйО показан процесс интеграции AI в немалоизвестное приложение Spring Petclinic. 

В статье автор пошагово делится своим опытом внедрения Spring AI, чтобы сделать приложение более интерактивным.

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

Что нового в React 19

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



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


Многие из этих возможностей были представлены в экспериментальном режиме в React 18, но в React 19 они станут стабильными. Давайте подготовимся к этому обновлению.

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

Реализация push-уведомлений из web в мобильное приложение для новичков

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

Всем привет! Меня зовут Лида Анисимова, я backend разработчик продукта — платформы мотивации сотрудников Тил Эйчар. В этой статье хочу рассказать о нашем опыте реализации push-уведомлений. Если вы, как и я полгода назад, ничего не знаете о том, как работают push-уведомления — эта статья для вас. Расскажу о том, с какими трудностями мы столкнулись, покажу, как отправить первый push и какие данные вам могут понадобиться.

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

Грязные биткоины. Как защитить свои накопления?

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

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

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

Читать далее
Всего голосов 28: ↑27 и ↓1+31
Комментарии18

Real-time-распознавание лиц: методы обучения быстрых и точных моделей для работы на мобильных девайсах

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

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

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

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

Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?

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

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

Узнать →
Всего голосов 149: ↑148 и ↓1+178
Комментарии82

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

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

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

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

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

Дообучаем Llama 3.1 у себя дома

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

Привет, чемпионы!

С каждым днем появляется все больше и больше LLM. Их метрики растут с таким же бешеным темпом. Но в узких областях знаний они до сих пор дают осечку. Почему это происходит и как с эти бороться? - Разбираем универсальный код для дообучения LLM на своих данных!

Дообучать LLM!
Всего голосов 24: ↑21 и ↓3+24
Комментарии17

От промптов к дообучению: четыре уровня адаптации open-source моделей

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

Привет, Хабр! Меня зовут Анна Щеникова, я аналитик в Центре RnD в МТС Диджитал. Ко мне часто приходят задачи, где нужно использовать open-source LLM. Сразу же встает вопрос: а как адаптировать имеющуюся модель под конкретный кейс?

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

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

Llama 3.1 и Mistral Large 2

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

В прошлом месяце вышли две интересных модели - Llama 3.1, улучшенная версия Llama 3, и Mistral Large 2.

Самое заметное отличие Llama 3.1 от предыдущих моделей - у нее есть версия 405B- 405 миллиардов обучаемых параметров. Это самая большая открытая языковая модель, и опубликованные метрики показывают ее производительность на уровне GPT-4. Тесты проводились как на общих бенчмарках, например MMLU, так и специализированных - на код и математику.

Для меня особенно интересными показались улучшенные мультиязычные возможности этой модели, так как я давно экспериментирую с обучением LLM на мультиязычных данных, моя последняя модель ruslandev/llama-3-8b-gpt-4o-ru1.0 превзошла GPT-3.5 на русскоязычной версии бенчмарка MT-Bench.

Llama 3.1 поддерживает семь языков, кроме английского - французский, немецкий, хинди, итальянский, португальский, испанский и тайский. Русского в списке нет, как легко заметить, но это не значит, что в корпусе базовой модели нет примеров на русском. Есть, и предостаточно, это становится очевидно при файнтюнинге. У меня есть мой собственный датасет для файнтюнинга ruslandev/tagengo-rus-gpt-4o, который я сгенерировал из преимущественно русскоязычных промптов датасета Tagengo с помощью GPT-4o.

Теперь о минусах модели Llama 3.1 - файнтюнинг 405B версии обойдется дорого, так как даже при сжатии в 4bit необходимо выделить около 200 ГБ VRAM для такой задачи. Поэтому я файнтюнил версию 8b на вышеупомянутом датасете, арендуя две видеокарты A100 на облачном сервисе immers.cloud. Но я не заметил особого превосходства версии 3.1 над третьей версией. Даже наоборот, я столкнулся с несколькими проблемами - например, 3.1 после файнтюнинга на моем датасете показала тенденцию прерывать генерацию, не завершив ответ - до причины я так и не докопался, но у Llama 3 такой проблемы не было. 

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

Рекурсивный отбор признаков. Динамический шаг в танце feature selection

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

В статье рассматривается выбор оптимального шага при рекурсивном отборе признаков (RFE). Предлагаются три подхода: фиксированный шаг, динамический шаг, зависящий от количества признаков, и динамический шаг, основанный на значимости признаков. На основе как искусственно сгенерированных, так и реальных наборов данных проводится анализ эффективности каждого метода, выявляются их преимущества и недостатки. Также внимание уделяется недостаткам текущей реализации RFE в библиотеке Scikit-learn, и предлагаются пути их улучшения, а также креативные подходы к решению задач feature selection.

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

Самые дикие налоговые проблемы, в которые встряли уехавшие из России айтишники в 2024

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

Попытка налоговой отхватить 6% с продажи квартиры в Грузии у налогового нерезидента РФ, двойное налогообложение заработанной крипты от российской ФНС, а также штраф 30% за сдачу в аренду недвижимости в Германии – в этой статье мы собрали самые жуткие истории из жизни, с которыми налоговые юристы сталкивались на практике.

Читать далее
Всего голосов 163: ↑148 и ↓15+163
Комментарии279

Как публиковать библиотеку в Maven Central Portal в 2024 году

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

Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывает как раз опыт публикации через OSSRH на Maven Central. Из-за чего после марта 2024 года эти туториалы стали не актуальны для публикации проектов новых авторов.

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

Слияние словарей в PyTorch: зачем нужно и подводные камни

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

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

Одним из способов решения этих проблем является разбивка датасета на куски, и обучение одной и той же нейросети параллельно на разных устройствах. Потом, очевидно, нужно каким-то образом слить обученные нейросети в одну. Обсудим в этой статье детальнее, зачем это вообще может быть нужно, и как это сделать более-менее правильно.
Сливаем клонов!
Всего голосов 34: ↑33 и ↓1+47
Комментарии19

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

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

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

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

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

Сюрпризы планировщика запросов в БД PostgreSQL

Время на прочтение13 мин
Количество просмотров21K
Графики, отчеты и аналитика – все это так или иначе присутствует в back-office любого, даже совсем маленького, предприятия. Когда в обычных таблицах в Excel/Numbers/Libre становится уже тесно, но data все еще не очень big, традиционные решения для внутренних потребностей компании часто строятся с помощью реляционных баз данных, таких как PostgreSQL, MySQL или MariaDB.

Эти базы данных бесплатны, благодаря SQL удобно интегрируются с остальными компонентами в системе, они популярны и с ними умеют работать большинство разработчиков и аналитиков. Нагрузку (трафик и объемы) они могут переварить достаточно объемную, чтобы спокойно продержаться до того момента, когда компания сможет позволить себе более сложные (и дорогие) решения для аналитики и отчетов.
Однако даже в многократно изученной технологии всегда существуют разные нюансы
Всего голосов 38: ↑38 и ↓0+38
Комментарии4

Google Colab вместо Jupyter Notebook: плюсы и особенности работы для новичков

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

Привет! Меня зовут Ольга Матушевич, я наставница на курсе «Аналитик данных» в Яндекс Практикуме. С Jupyter Notebook я впервые столкнулась шесть лет назад, когда начала изучать Python и анализ данных. И именно установка Jupyter Notebook стала самым сложным этапом моей учёбы — ни чистка данных, ни градиентный бустинг, ни бутстрэп не доставляли мне столько трудностей.

Если установка программного обеспечения даётся вам так же трудно, то эта статья для вас. В ней я рассказываю о не требующем установки сервисе Google Colab, сравниваю его с Jupyter Notebook и даю советы для лёгкого старта.

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

Эффективное автотестирование с Qase: Интеграция Playwright и GitLab CI

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

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

В статье мы рассмотрим реализацию связки Qase с Playwright и GitLab CI, которую мы используем в SmartHead: от создания проекта до получения отчетов об автоматизированном тестировании.

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

Учимся летать: симуляция эволюции на Rust. 3/5

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



Это третья часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.






В предыдущей статье мы реализовали простую FFNN (feedforward neural network — нейронная сеть прямого распространения), которая может передавать числа через рандомизированные слои — это первый шаг на пути создания мозга.


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


Но как мы можем обучить группу чисел с плавающей точкой (запятой, если угодно)?

Читать дальше →
Всего голосов 19: ↑19 и ↓0+26
Комментарии1

Особый фронтенд на заводе: desktop first, тёмные помещения, промышленные интерфейсы и специфика производственных систем

Время на прочтение6 мин
Количество просмотров6.2K
image

Привет, Хабр! Меня зовут Олег Рогов, я руковожу фронтенд-разработкой НЛМК. У нас команда на 70+ человек, в основном мы делаем интерфейсы для промышленных систем. Например, дизайнеры рисуют схему цеха или огромную таблицу сравнения для коксохима, мы всё это внедряем и потом поддерживаем на фронтах.

Наши фронты — это в основном широкоформатные экраны, поэтому мы пишем приложение под них в первую очередь. Причём экран такой, около которого сидит инженер (часто в защитных очках) и смотрит на него при не самом хорошем освещении.

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

80 % наших задач крутится вокруг систем управления производством, то есть мобильное приложение или планшет — это для нас редкий экран, но и такое разрабатываем.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+55
Комментарии21

Информация

В рейтинге
3 839-й
Откуда
Ян де нова о-ва
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer, Software Architect
Lead
Java
Docker
React
TypeScript
Java Spring Framework
Designing application architecture
High-loaded systems