Александр Агеев. Мой путь в ИИ.
101 subscribers
9 photos
11 links
Всем привет! Я разработчик в области компьютерного зрения и NLP. Буду делиться своими наблюдениями, заметками и интересами в ИИ.
Мой тг @alexANDRico
Download Telegram
Сегодня летал на конференцию от тбанка по ии 🤖
Езжу буквально уже третий год подряд. Абсолютно точно стоит потраченного дня на дорогу!

Рассказывали про два направления: cv & nlp (speech). Все четко и по теме. Ничего лишнего.

Дали презент, за самый лучший вопрос на лекции 🤭

На днях расскажу, что интересного технического узнал.
🔥51👍1
че кого по конфе. рассказываю.
Я был на трех сессиях. Генеративные модели, звук, Вижн модели. И успел понетворкаться с коллегами (оч полезно, кстати).

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

звук. Спикер был, кажется, из сбера. делают тех поддережку. Определяют эмоции человека и специалиста из ТП. Мы пришли к тому, что, когда мы звоним на линию ТП, нас больше не будут спрашивать про оценку качества. Наша речь за нас все скажет сама, модели способны определять тональность наших вопросов и ответов. Делается глубокий анализ эмоций в течение разговора. Смотрится ДИНАМИКА, смог ли манагер нас вывести в плюс из минуса. Бизнес, который задавал вопросы ожидает предиктивные модели, по типу, нам надо делать в режиме реального времени предсказание, что нужно сказать клиенту, чтобы вывести его на продажу/хороший настрой и тд.
Поэтому наши эмоции - новый рынок, который будет продаваться в звуке.

ВЛЛМки. все базово, соты и не-соты модели. Что тащить в прод, что для экспериментов. Как инференсить, как запускать. Как дообучать на своем домене. Все по классике. Новинки 2025. Квен2.5, InternVL2.5, Phi3Vision, Siglip2+Gemma3, DeepSeekVL2. (Пробуем, товарищи)

Пэ.Сэ. А кружку получил за самый лучший вопрос на сессии по VLLM. Вопрос был такой. Сможет ли вллм-ка полностью заменить пайплайн OCR-NER-алгоритмику с достоинством забирая первенство. И будет ли это в ближайшие полтора - два года сделать относительно экономически выгодно.

По генеративкам в комментах слайды.
👍1🔥1
Сегодня был мой последний рабочий день в компании Soica.
Отработал здесь ровно год. Но, в связи с определениями внутренними обстоятельствами, я решил покинуть команду.

Скоро расскажу о своем новом рабочем месте и чем я буду заниматься 🙂
🔥3🦄1
Хелоу всем!
пошла 6 неделя, как я устроился работать в новую компанию как Senior NLP dev.

Несколько слов о компании.
Мой отдел занимается созданием техподдержки финтех приложения с нуля. Погружаюсь в особенности построения NLP приложений.

А еще, я уже согласовал с начальством написание статей на Хабре, ждите, скоро будет! 😱
🔥91
Поскольку тема ИИ очень обширна, я рекомендую выбрать одну из специализаций. Список составлен в порядке возрастания сложности в сферу.

1. Аналитика (классическое машинное обучение)
* Предсказание спроса
* Анализ поведения покупателей
* Сегментирование аудитории

Примеры задач: «Какой продукт предложить этому клиенту?», «Что покупают люди из этой категории?», «Каким будет спрос?».

Популярные сферы: e-comm, маркетинг, финансы.

2. Компьютерное зрение
* Распознавание изображений и объектов
* Определение типа ситуации/события
* Трекинг

Примеры задач: распознавание номеров машин, определение брака на производстве, классификация товаров на складе.

Популярные сферы применения: промышленность, склады, транспорт, безопасность.

3. Аудио
* Распознавание речи
* Анализ звуковых событий
* Анализ тональности, интонаций, эмоций

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

Популярные сферы: умные колонки, колл-центры, клиентская поддержка.

4. Ассистент-эксперт (NLP)
Помимо очевидного, есть большой блок коммерческого использования:
* Ответы, основанные на узкой экспертизе
* Проверка корректности данных
* Использование нормативной или профессиональной базы

Примеры задач: проверка соответствия договора юридическим нормам, поиск противоречий в документах.

Популярные сферы: юриспруденция, аудит, медицина, госслужба, техподдержка.

5. Выбор стратегии поведения (обучение с подкреплением)
* Управление роботами и беспилотниками
* Оптимизация логистических маршрутов и графиков
* Игра в шахматы, го и т.д.

Популярные сферы: промышленность, транспорт, энергетика, робототехника, игры, финансы.

#ИИ #ИскусственныйИнтеллект #ML #MachineLearning #AI #DataScience #BigData #Технологии
30🔥2
Для входа в ИТ сфера RPA (Robotic Process Automation) представляется очень манящей: низкий порог входа, не нужно полноценное программирование, а задачи просты и понятны. RPA-разработчик просто вникает в БП, делает блок-схему при помощи Low-/No-Code редактора, и вуаля.

Но RPA — это костыль, который работает до первого изменения интерфейса. Добавилась новая кнопка? Изменилась структура письма? Вышло обновление CRM? RPA ломается.

Применение AI-инструментов для аналогичных задач гораздо более гибкое, т.к. они:
* понимают естественный язык,
* работают с неструктурированными данными,
* извлекают информацию из разных типов файлов (PDF, фото и тд),
* поддерживают логические правила и могут принимать решения.

RPA не понимает контекст. Он не знает, что PDF-файл — это договор. Не понимает, что письмо — это жалоба клиента. Он просто берет данные, если они ровно там, где его научили их искать.

ИИ-инструменты работают иначе: они распознают смысл, структуру, тип задачи. Они адаптируются к изменению формата, потому что опираются на семантику, а не на координаты элементов интерфейса.

Что мы видим на рынке: RPA-вендоры стараются впихнуть в свои платформы ИИ-функции, чтобы выжить, причем как в мировой практике, так и в РФ. Поэтому если вы думаете о входе в ИТ через RPA, то вам все равно придется активно осваивать AI, чтобы не застрять в умирающем стеке.

#RPA #RoboticProcessAutomation #ИИ #ИскусственныйИнтеллект #AI #Automation
👍2🔥1
Сегодня хочу затронуть важную тему — разметку данных. Поскольку плохая разметка может уничтожить даже самую точную модель, нужно правильно организовать процесс.

1. Тестовый проект.
Пилот из 50-100 примеров поможет:
* понять, с какими трудностями вы столкнетесь,
* проверить инструменты,
* оценить уровень испонителей (особенно если это аутсорс),
* уточнить инструкцию.

2. Провека исходных данных:
* качество, полнота и актуальность данных,
* наличие важных классов,
* дисбаланс выборки,
* логичность метрик, по которым будет идти обучение.

3. Уточнение задачи разметки у бизнеса:
обязательно сходи к бизнесу и уточни детали данных. Данные могут иметь какие-то свои особенности, в зависимости от специфики сфер и сегмента работы. Важно знать обо всех мельчайших деталях!

4. Использование перекрестной проверки.
Один размечает — другой проверяет, затем сотрудники меняются местами:
* помогает найти несогласованности,
* выявляет неоднозначные случаи,
* повышает качество аннотаций.

5. Использование системы оценки качества:
* точность, полнота, согласованность,
* стабильность разметчиков,
* скорость без потери качества

6. Инструменты и автоматизация
если ты работаешь с картинками - бери в руки CVAT / Label Studio, если работаешь с текстом, то тут LabelStudio, ИИ для авторазметки, API GPT - все сюда же.
#РазметкаДанных #DataLabeling #ML #MachineLearning #AI #ИскусственныйИнтеллект #DataScience
Ты построил модель, обучил ее на данных и получил 99% точности? Не спеши радоваться. Возможно, ты столкнулся с переобучением (overfitting), и твоя модель отлично работает только на тренировочных данных.

Почему так происходит?
Модель:
* слишком сложная (много параметров, слоев и т.д.),
* слишком долго учится на ограниченном объеме данных,
* находит шум, а не закономерности,
* подстраивается под случайные флуктуации, которые не повторятся в будущем.

Как заметить переобучение
1. Сравни метрики на train и test
Самый простой способ — посмотреть на точность (или ошибку) на двух выборках:
Accuracy на train: 98%,
Accuracy на test: 72%,
= Почти наверняка переобучение

2. Проведи кросс-валидацию
Если метрики сильно скачут между фолдами, то модель нестабильна, она переобучается.

3. Смотри на кривые обучения
Построй график ""loss vs epoch"" для train и validation:
Train loss — стабильно падает,
Val loss — сначала падает, потом растет,
= перед тобой переобучение

4. Интуитивно: слишком хорошо, чтобы быть правдой
Если метрики подозрительно высокие, но модель не проходит даже банальную sanity check («А точно ли она предсказывает класс ""Кошка"", а не просто ""Самый частый класс""?»), — стоит насторожиться.

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

2. Регуляризация
Добавь «наказание» за слишком сложную модель:
* L1 / L2 регуляризация,
* Dropout в нейросетях,
* Pruning деревьев.

3. Упрощай модель
Иногда простая линейная модель работает лучше, чем глубокая нейросеть.

4. Early stopping
Следи за качеством на validation. Если оно ухудшается — прекрати обучение.

5. Аугментация данных
Если работаешь с изображениями, текстами, звуком — искусственно увеличь объем данных:
* повороты, обрезка, шум,
* синонимы, перестановки слов,
* обрезка и сдвиг аудио.

#ML #MachineLearning #AI #ИскусственныйИнтеллект #DataScience #Overfitting
Про грамотно составленное резюме вроде бы всем понятно и очевидно, поэтому сегодня расскажу о том, как выделиться — начните писать статьи. Самый популярный ресурс — Хабр. Ходят байки, что с Хабра могут даже схантить хорошего спеца 😁

Но Хабр — не самая простая площадка. Если у вас нет друга-высокорейтингового автора или работодателя с корпоративным блогом (они могут выдать инвайт), то ваш статус — ReadOnly. Это значит, что вы можете комментировать статьи, но не писать новые.

Чтобы получить инвайт, придется пройти песочницу: загрузить статью и ждать модерации. Про правила песочницы можно почитать тут (https://habr.com/ru/docs/help/sandbox/). После модерации возможно 4 исхода:
1️⃣ Все круто — публикация + инвайт.
2️⃣ Неплохо — публикация, но без инвайта (но его может дать кто-то из читателей).
3️⃣ Сыровато — статья вернется вам на доработку с комментариями.
4️⃣ Мимо.

(продолжение в комментариях)
🔥2🤔2
NLP (Natural Language Processing) — задачи, связанные с автоматической обработкой текстов на естественном языке.

Ключевые задачи NLP, которые широко применяются в бизнес-продуктах:
1️⃣ Машинный перевод с одного языка на другой
Несмотря на впечатляющий уровень современного машинного перевода, FAHQMT (fully automatic high-quality machine translation, полностью автоматический перевод высокого качества) пока не достигнут.

2️⃣ Классификация текстов
Примеры — спам/не спам, автоопределение типа письма (заказ, жалоба, документы), сентимент-анализ (определение тональности сообщения). Реализуется через supervised learning (модель обучается на размеченных данных).

3️⃣ Извлечение именованных сущностей (NER)
Поиск в тексте имен людей, организаций, географических названий, дат, сумм и тд, что позволяет структурировать неструктурированные данные. Обычно модель пословно читает текст, определяет начало и конец сущности и ее тип. Хорошая разметка крайне важна для получения качественного результата.

4️⃣ Извлечение фактов и связей (relation extraction)
Работает после NER. NER находит сущности («Иванов Николай», «генеральный директор»), а relation extraction — как они связаны между собой (занимает должность, имеет право подписи)

5️⃣ Вопросно-ответные системы (Q&A)
Поиск ответа на вопрос в в базе данных или корпусе текстов. Используется в поддержке клиентов, корпоративных помощниках, voice-интерфейсах.

6️⃣ Диалоговые системы (чат-боты)
Примеры — Алиса, Siri. Чат-бот должен понимать пользователя, классифицировать намерение (интент), извлекать параметры (сущности), запускать нужный сценарий или поддерживать беседу. Фактически — это синергия нескольких задач NLP: классификации, NER, relation extraction, генерации текста и логики ведения диалога.

7️⃣ Саммаризация (summarization)
Краткий пересказ текста с сохранением ключевых идей и формированием заголовка или аннотации. Делится на два типа — экстрактивная (выделение фрагментов исходного текста) и абстрактивная (генерация нового текста с той же сутью)

8️⃣ Поиск обоснования (argumentation mining)
Поиск в тексте доказательства какого-либо утверждения. Иногда бывает расширенная задача — поиск контраргументов, оценка модальности. Тут тоже задействовано решение нескольких NLP-задач.

Это далеко не полный список задач (есть еще токенизация и лемматизация, POS-теггинг, синтаксический парсинг и многое другое).
1
Продолжу тему NLP — сегодня расскажу о том, почему эти задачи так сложны. Спойлер: язык неструктурирован, контекстно-зависим, многовариативен и динамичен.

1️⃣ Препроцессинг: стадия подготовки текста
Сегментация — разбиение текста на элементарные блоки (предложения и слова).
Сложность — точка не может быть маркером конца предложения (г. Владивосток, генеральный директор Б.Н. Воробьев, 01.01.2025).

Токенизация — выделение минимальных смысловых единиц текста (токенов).
Из проблем — слова со знаками «банкомат-онлайн», служебные символы «user@yandex.ru», номера и сокращения, многозначные конструкции.

Нормализация — приведение текста к унифицированному виду: удаление пунктуации, стемминг (усечение слова до корня), лемматизация — преобразование в начальную форму («бегал», «бежит», «прибежит» = лемма «бежать»).

2️⃣ Лексическая неоднозначность
Полисемия — слово имеет несколько смыслов («зеленый» = цвет, незрелый, очень молодой).
Омонимия — у слова несколько несвязанных значений («засыпать» = погружаться в сон, сыпать что-либо).

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

(продолжение в комментарии)
1
Почему важно понимать бизнес на этапе разработки/прототипирования

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

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

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

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

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

Хороший разработчик умеет писать код.
Сильный разработчик понимает, зачем его писать.
А эффективный — пишет только код, который приносит пользу. 🙂
1👌1
Linux необходим ML-разработчику

Большинство ML-инструментов и библиотек для машинного обучения (PyTorch, TensorFlow, Hugging Face, CUDA и т.д.) создаются и тестируются в первую очередь под Linux. Почему?

Поддержка GPU и драйверов
Работа с удаленными серверами
Контейнеризация и DevOps (Docker, Kubernetes, CI/CD)

Какой Linux ставить?

Берем базовую ОС — Ubuntu. 
Настоятельно советую поставить ее себе второй системой (под Windows) и пользоваться для привыкания в обычной жизни. Вначале непривычно, но сейчас я нахожу Ubuntu удобнее винды 😉

Базовые команды (не бойтесь терминала)
ls         # список файлов
cd         # переход в каталог
mkdir      # создать папку
rm         # удалить файл
cp         # скопировать
mv         # переместить или переименовать
nano       # простой текстовый редактор (его предварительно может попросить установить)
sudo       # выполнение от имени администратора
apt        # установка пакетов (в Ubuntu)
pip        # установка Python-библиотек (само собой, предварительно поставив Python)
nvidia-smi # проверка работы GPU (предварительно поставив CUDA драйверы). 

В Linux вы будете использовать:
venv / virtualenv — изоляция проектов
pip или conda — управление зависимостями
Jupyter — jupyter notebook из терминала (или того же вскода)
Docker — модели в контейнерах
Git + GitHub — коллаб и контроль версий

Если вы тренируете модели на собственной машине или сервере с GPU — знание NVDIA-драйверов, CUDA Toolkit и cuDNN  критично.
3
Ну что, ребята, сегодня я на конференции от Тбанка. Буду слушать про РАГи и ЛЛМки.
Через пару дней напишу пост, чего тут интересного было 🤓
👍7
Не поверите! Успел заскочить на огонек еще и в яндекс! День был плодотворным …
🔥6👍2
Делюсь с вами ботом, который присылает анонсы мероприятий/конференций. Очень не хватало лично для меня https://t.me/NetworklyBot
❤‍🔥3🔥1