Feed aggregator

Making Crash Bandicoot (2011)

Hacker News - Tue, 2025-11-25 13:05
Categories: Software

Применение искусственного интеллекта у нас на работе

Green - Tue, 2025-11-25 10:45
У нас на работе задались вопросом: может ли нам где-то помочь ИИ, и не надо ли нам задуматься об этом заранее, чтобы не пропустить очередную технологическую революцию. Сели с шефом, запустили ChatGPT, спросили у него, что он думает по этому поводу. Он накатал 3 страницы рац. предложений. Я потом прошёлся по каждому из них, примеряя, что может подойти конкретно к нашему отделу. Переспрашивал, если что-то непонятно. Просил сформулировать конкретный план действий, если что-то казалось перспективным. На следующем собрании мы просмотрели получившийся список и решили протестировать на конкретном примере.

У нас есть периодическая (раз в триместр) задача: приходит база Excel в несколько сотен строчек, одна из колонок которых заполнена свободным текстом. Например «клиент вышел на работу», или «умер», или «не надо временно ему платить, эксперт разбирается». И наша задача — по этому тексту проставить галочку «платить / не платить» (точнее: учитывать его в расчёте провизии или нет). Понятно, что можно перестроить процесс, чтобы эту галочку сразу ставили те люди, которые пишут этот текст. Но, во-первых, процессы строить долго, да это и не наша работа (мы этих людей не знаем, они по всей стране разбросаны). Во-вторых, у нас сейчас как раз тема прикрутить ИИ — вместо того, чтобы заставлять людей писать как роботы, можно попытаться научить робота понимать то, что написали люди!

Первая итерация: тупо скормил колонку текста Copilot и попросил интерпретировать написанный текст как одну из следующих категорий: «возврат на работу», «смерть», «остановка платежа» (для этого прошлись с человеком, который занимается этой задачей каждый триместр, он сформулировал, какие бывают категории, и какая категория приводит к какому выводу). А если непонятно — то пиши «ручная обработка». Чатик через пару секунд выплюнул файл Excel с ответом. Текст был из уже обработанного в 3-м триместре этого года файла, поэтому у меня были «правильные» ответы. Я сверил — примерно 2/3 правильно, несколько откровенных косяков. Спрашиваю: чатик, как же так? Там же прямым текстом написано «Sortie des effectifs» («выбыл из строя работников»), и у меня есть категория «Sortie des effectifs», а ты его считаешь как «Reprise de travail» («вернулся к работе»). Ой, говорит, точно, как ты здорово это подметил! А то я заметил, что часто «reprise de ravail» сокращается до «rt» и тупо начал присваивать эту категорию всем строкам, содержащим «rt» (см. «sortie»). Хочешь, я дам этому правилу минимальный приоритет и переделаю файл? Конечно хочу, говорю. А самое главное, расскажи мне, как я должен формулировать тебе такую задачу в следующий раз, чтобы не надо было уточнять. Он сгенерил новый файл (существенно лучше, пусть и несколько расхождений, некоторые из которых, на мой взгляд, скорее в его пользу), выдал инструкцию, как ставить перед ним такую задачу. То есть, в принципе всё работает, какое-то время явно можно сэкономить, но явно можно сделать и лучше.

Вторая итерация: чатик, говорю, вообще-то у меня есть такая вот задача — описываю ему её. Как бы ты её решал? Фигня вопрос, говорит. Это же типичная задача классификации, а значит machine learning, я бы предложил начать с SVM linéaire, а там посмотрим. Работаем с текстом, для его анализа я бы посоветовал начать с какой-то базовой модели, типа TF-IDF, а если её не будет хватать, я расскажу другие варианты. Хочешь я помогу тебе написать этот код на питоне? Я только на прошлой неделе послал запрос на установку питона, поэтому говорю: пока питона нет, давай на матлабе, благо у меня есть Machine Learning Toolbox. Он сгенерил код, но ему нужен был ещё и Text Analytics Toolbox, которого у меня нет.

По этому поводу, кстати, ржака: захожу на сайт MathWorks проверить цену. Стандартная лицензия 536€. Есть опция «стартап» — я ради интереса кликнул, для стартапа 3780€. Возвращаюсь к стандартной лицензии — она уже 938€. WTF? Закрыл браузер, открыл заново: 536€. Но если посмотреть на цену для стартапа, то после этого 938€. Если смотреть «студенческую», то цена не меняется. Но цена самой студенческой меняется, если посмотреть на стартап — с 20€ до 69€.

Ну ладно, пишу чатику: нет у меня такого тулбокса. Без него никак? Да фигня вопрос, говорит. Вот тебе код — он слегка медленнее, но делает в точности то же самое. Я запустил обучение на данных 3-го триместра этого года — меньше секунды учится. Запустил обработку данных 2-го триместра этого года — меньше секунды классифицирует, причём только одна точка не совпадает с тем, как это было классифицировано ручками. Фантастика!

Почитал после этого, как работают все эти модели, какие у них есть ограничения, какие варианты настройки, какие индикаторы контроля. Что ещё осталось:
* Очевидно, что данные 3-то триместра этого года очень похожи на данные 2-го триместра. Что частично объясняет столь прекрасное качество результата. С одной стороны, это плохо — наша система не универсальна, и возможно она умеет работать только с данными, сильно похожими на learning dataset. С другой — а зачем нам универсальная система, если перед нами стоит конкретно эта задача?
* Теоретически можно улучить систему, исключив слишком редкие или слишком частые слова и т.п. (чатик накидал целый список предложений). С другой стороны — работает? Ничего не трогай, сынок!
* Надо понять, как поступать с теми строчками, которые первая итерация классифицировала по-другому, и мне её классификация нравилась больше. То ли я ошибаюсь, то ли у нас есть ошибки в dataset. Для второго случая нужно предусмотреть протокол исключения ошибочных данных из learning dataset.
* Нужно продумать систему контроля результата. Я представляю себе что-то в духе списка новых фраз, которых не было в learning dataset, но которые были обработаны в реальных данных (очищенные фразы, то есть из которых выкинуты все числа и пунктуация). Напротив каждой фразы — автоматически присвоенная ей категория. У оператора есть возможность подтвердить или присвоить другую.
* Предыдущий результат можно добавлять в learning dataset на следующий триместр. Хотя это тоже вопрос: стоит постоянно наращивать его размер (больше данных = лучшее обучение), или наоборот, ограничиваться несколькими последними триместрами (большее внимание стилю сейчас работающих людей, а не тому, как формулировали их коллеги 10 лет назад)?
* Ну и самое главное: как встроить это в рабочий процесс? Теоретически можно требовать от пользователя умения не только запускать, но и переписывать код — это не массовый продукт, это автоматизация работы моих коллег, которые потенциально имеют ту же квалификацию, что и я. Но при этом ручная обработка этих строк занимает 2-3 часа — нужно, чтобы весь процесс, от «вспомнить, как это работает» и до «включить новые строки в learning dataset» занимал существенно меньше этого времени.

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

Я задумался и сформулировал для себя, что уже лет 20 как я не могу прийти в себя от того факта, что у меня под рукой всё знание человечества ever. И нынешнюю революцию LLM я вижу именно в этом контексте: до этого у меня был ключ от Ленинки, а теперь у меня появился ещё и библиотекарь, благодаря которому мне не нужно бесконечно бродить по залу / копаться в каталоге.

И собственно в этот момент я понял, почему мне даже в голову не приходило, что придёт та самая молодая шпана. Потому что да, у нас уже 20 лет есть доступ ко всем данным. То есть любой человек может протянуть руку и взять книгу. Может любой, но никто этого не делает. Никто, кроме таких вот уникумов как я (и подавляющее большинство читающих эти строки — нас мало). Тут вспоминается скетч 2015 года по поводу даты из «Назад в будущее», когда Док с Макфлаем прилетают в наш 2015 год и видят, что у каждого первого в кармане есть портативный суперкомпьютер с доступом ко всем знаниям человечества. Но каждый первый же рассматривает на этом суперкомпьютере котиков и играет к candy crash. Так и с чатиком: любой может открыть его и выучить теорвер. Но никто же всё равно не будет этого делать. Кроме нас, редких извращенцев, читающих друг друга и считающих, что весь мир такой как мы.

А ещё задумался: появление LLM представляет больший риск для нас, старпёров, или наоборот, для той самой молодой шпаны? И кажется, что таки для них. Потому что, во-первых, как только LLM начнёт работать на уровне тупого стажёра, все перестанут брать тупых стажёров. То есть молодёжи сложнее будет выходить на рынок труда, набираться первого опыта. А во-вторых, какое преимущество молодого перед стариком? (я, конечно же, про интеллектуальный труд) У молодого мозг гибче, он быстрее учится. Но появление LLM одновременно и упрощает обучение, и отменяет необходимость знать что-то наизусть. То есть да, молодой мозг всё ещё лучше запоминает, чем мой — но ценность этого падает. Интересная тема.
Categories: Friends

Применение искусственного интеллекта у нас на работе

Green - Tue, 2025-11-25 10:43
У нас на работе задались вопросом: может ли нам где-то помочь ИИ, и не надо ли нам задуматься об этом заранее, чтобы не пропустить очередную технологическую революцию. Сели с шефом, запустили ChatGPT, спросили у него, что он думает по этому поводу. Он накатал 3 страницы рац. предложений. Я потом прошёлся по каждому из них, примеряя, что может подойти конкретно к нашему отделу. Переспрашивал, если что-то непонятно. Просил сформулировать конкретный план действий, если что-то казалось перспективным. На следующем собрании мы просмотрели получившийся список и решили протестировать на конкретном примере.

У нас есть периодическая (раз в триместр) задача: приходит база Excel в несколько сотен строчек, одна из колонок которых заполнена свободным текстом. Например «клиент вышел на работу», или «умер», или «не надо временно ему платить, эксперт разбирается». И наша задача — по этому тексту проставить галочку «платить / не платить» (точнее: учитывать его в расчёте провизии или нет). Понятно, что можно перестроить процесс, чтобы эту галочку сразу ставили те люди, которые пишут этот текст. Но, во-первых, процессы строить долго, да это и не наша работа (мы этих людей не знаем, они по всей стране разбросаны). Во-вторых, у нас сейчас как раз тема прикрутить ИИ — вместо того, чтобы заставлять людей писать как роботы, можно попытаться научить робота понимать то, что написали люди!
Read more... )

comment count unavailable comments
Categories: Friends

Our Phosphorescent World

Hacker News - Tue, 2025-11-25 07:36
Categories: Software

Why I (Still) Love Linux ?

Hacker News - Tue, 2025-11-25 07:07
Categories: Software

The Druridge Bay Ruin [video]

Hacker News - Tue, 2025-11-25 06:20
Categories: Software

How I talk to whales

Hacker News - Tue, 2025-11-25 06:18
Categories: Software

Magicians of the Miniature (2014)

Hacker News - Tue, 2025-11-25 06:14
Categories: Software

Stereo Images of Giant Galaxies

Hacker News - Tue, 2025-11-25 04:42
Categories: Software

Pages