***
[Двумя неделями ранее]
«Коллеги, добрый день. Рада сообщить вам, что финансовые проблемы обошли нас стороной! Инвесторы ВНОВЬ вложили свои сбережения в наши проекты, несмотря на предыдущий провал. За это стоит благодарить █ █ █ █ █! Обращу ваше внимание, коллеги — вам были поставлены задачи в зависимости от отдела. Большую надежду возлагаем на плечи Алекса, нашего ML-лида. С уважением, менеджер Натали.» Скрэтч вздохнул, снова пробегаясь глазами по этим строчкам в корпоративном мессенджере. То, что ему накинули задач, хотя казалось, что со дня на день их корпорацию закроют, было… обнадёживающе? Да, пожалуй. Болезнь давала о себе знать: с каждой неделей нагрузка на мозг приносила всё больше боли, ведь опухоль так просто не сдастся, пока не сведёт его в могилу. — Ладненько, посмотрим, что тут у нас… — тихие клики, сопровождающие переходы по страницам. Задача всплыла перед глазами: срочная — 3 месяца на создание ИИ, который раньше не видел мир. Что-то, что будет веселить людей до последнего… Потреблять мало данных, но выдавать большой результат. Быстрое обучение, закрытая система, — но это же просто невозможно… Нужно попросить больше… Эм, всего. Длиннее сроки… — Алекс нервно закусил ноготь большого пальца, начиная притоптывать ногой. Scratch@█ █ █.com: Добра. Команда не сможет реализовать эту задачу. Обучение модели требует безумного количества попыток, отдачи, мощностей. Натали, мы не сможем сделать что-то качественное за три месяца. NatNat@█ █ █.com: Алекс. В условиях, в которые мы попали качество — гибкая метрика. Scratch@█ █ █.com: Да у нас сервера не вытянут! Куда мы будем девать такие объёмы памяти? Хранить на мыльницах покупателей? Инвесторы хотят чудо, не так ли? Если вчитываться, звучит так, словно вы все хотите получить что-то, что ещё никто не разработал. Распознавание лиц, подбор интересов, прослушивание голоса, моментальные ответы, генерацию, постоянную работу модели! NatNat@█ █ █.com: Другие менеджеры и инвесторы рассчитывают на вашу адаптивность, не требуя невозможного. Тебе нужно пересмотреть приоритеты. Алекс скрипнул зубами. Ещё пара сообщений от него — и пара сухих ответов от неё. Легко быть менеджером, не так ли? Передаешь волю свыше, совершенно не разбираясь в тонкостях. Но есть во всех этих аргументах… что-то интересное. Уведомление заставило его вздрогнуть. Последнее сообщение от Натали, ставящее точку в этом споре: «Если проект не будет готов к демонстрации, финансирование будет… пересмотрено.» Куда больше его пересматривать? Просто уволят всех. Подадут на банкротство. — Что ж. Нужно создать задачи для команды. Посмотрим… — Скрэтч распределил нагрузку в зависимости от знаний модулей своими коллегами. Себе же мужчина оставил самое сложное — обучение модели на основе существующих данных. Код пришлось начать писать дома — времени дали в обрез, чем позднее старт, тем хуже будет для них всех.***
— Тест номер тридцать один. На серверах мы тебя развернули, так что, может, после этого, миллионного, как мне кажется, прогона… ты наконец запустишься… — Алекс уже почти засыпал. Семь часов непрерывного монотонного кодинга. Солнце уже встаёт, птички поют, раздражая слух. Scratch@circus ~$: input “Привет, CAINE!” $: Доброе утро. Скрэтч уставился на консоль. Получилось? Он что, смог создать этот идиотский каркас, который хотя бы отвечает? Кажется, он всю ночь только и делал, что чинил баги и лазал по просторам интернета, лишь бы понять, почему его детище — CAINE — не запускается должным образом. И вот, первый адекватный ответ! До этого он получал либо набор бессмысленных символов, либо ответа не было вовсе. Сначала пришлось терпеть неудачи локально, а потом — когда сисадмин наконец проснулся — уже на серверах. Новый ввод в консоль заставил ИИ зависнуть. Ну вот и всё. Недолго песня играла — промпт просто положил один из старых серверов, нагрузка не перераспределилась. Прекрасно. Однако, успех уже есть! Осталось лишь поспать.***
[Наше время]
— Грант, ну пожалуйста. Мне не хватает грамотного специалиста. Все ребята в моём отделе и так уже заняты, мы ни за что не успеем! CAINE нужно постоянно дорабатывать, я не знаю никого в компании, кто сделал бы это лучше меня, — Грант выгнул бровь, — и тебя, конечно же! — Алекс. — И твоя жена! Только вы можете спасти нас, клянусь! CAINE не так плох. Мы уже начали потихоньку добавлять модули, но просто… Мне нужна помощь, правда, я не справляюсь один. Я и так стал спать на три часа меньше нормы, — Скрэтч не лукавил. Для него это была трагедия, врачи запрещали любую слишком серьезную нагрузку, а это она и была. Королёр молчал. Раздражение на лице не скрывалось, лишь мысли, тягучие, как патока, остались при нём. Часы размеренно тикали на стене. Он не умел обучать машины, всегда сторонился этой сферы, предпочитая просто работать с большими массивами данных. Быть backend-разработчиком — было для него максимумом. А сейчас его просят идти дальше. — К тому же, если мы вытянем компанию со дна — нам щедро заплатят… — А если провалим задание, то напишут отвратительный отзыв, мы не сможем найти работу и будем есть до конца своих дней кору дуба? — Мальчики, о чём спорим? — Куини подошла неспешно, приобняла мужа, легко обхватывая его руку, — Кажется, насчёт вашей… нашей новой AI-модели? Скрэтч активно закивал. Он снова завёл свою шарманку, которую уже битый час пытался донести до Королёра: мол, в этот раз проект не провальный, они точно смогут вывезти всю компанию на CAINE, но им срочно-срочно нужна помощь двух самых лучших разработчиков из соседнего отдела. Куини тихо рассмеялась, после чего кивнула, — Я хочу в этом участвовать. Грант опешил. Они что, действительно туда пойдут? — Грант, не смотри так на меня. Алексу нужна наша помощь. Учитывая, что мы с тобой и так всё, что было в наших силах, в нашем отделе сделали, может… хотя бы попробуем? — Аргументы слабые. Но главное — кто их говорит! — милая, очаровательная и любимая женщина, которая улыбается так солнечно, что Королёр вынужден отступить, слабо кивая. Ради неё можно и сходить… Да, в целом, куда угодно, хоть дракона сразить. — Обещаю, вы не пожалеете! Они пожалеют. Следуя за ML-лидом, Грант жалел лишь об одном: что вообще вышел сегодня в коридор. Мало было ему своей работы, так теперь будет временно работать за других, с призрачной надеждой, мол, выпишут премию! Однако… Слово уже было дано. Пусть не им напрямую, но ведь муж и жена — один сатана? Или там было не так? Кабинет встретил мирным гудением. Он был… в целом обычным. Ничего особенного? Ничем не отличался от остальных. Компьютеры, всё — для того, чтобы просто программировать. — Куини, можно я тебя направлю к Лорен? Она вместе с Нилом пытаются понять, почему модуль видео не работает. Грант, помоги, пожалуйста, настроить модуль голоса. CAINE постоянно ломается, стоит ему начать обрабатывать звуковые сигналы, хотя сама техника исправна. Я, кажется, что-то упускаю в коде. Куини, пойдем… — Скрэтч был шумным, суетился, старался что-то быстро объяснить, одновременно показывая, куда идти. Грант терпеливо смотрел на это всё, после чего сел за предложенный компьютер, включил среду разработки. Стоило главе отдела машинного обучения покинуть именно этот кабинет, Королёр выдохнул с облегчением. Быстрая пробежка взгляда по логам и коду — ошибок нет. Нет, что-то не то. Scratch@circus ~$: input “На основе чего тебя обучали?” $: Обучение производилось на текстовых данных! Королёр нахмурился. Он собирался напечатать новый запрос, однако сообщение появилось само по себе, без его вопроса: $: Обучение производилось на текстовых данных. $: Голосовые данные отсутствуют. С каких это пор искусственный интеллект у нас выдаёт ответы один за другим? Что за дублирование? Королёру казалось, сперва должен последовать запрос, а уже потом — реакция. Впрочем, в чём проблема, Грант понял быстро. Модуль-то подключили, но переобучение требует времени. Интонация, скорость, контекст… — Королёр? О чём задумался? — Алекс появился тут как тут. Словно на самом деле ждал неподалёку, проверяя специалиста из другого отдела. — Почему вы просто не переобучили модель? Чтобы он принимал голос и текст, а затем переобучался на видео. CAINE просто не знает, что значат эти звуки, которые мы ему передаем, — Грант посмотрел на молодого человека чуть осуждающе, но Скрэтч просиял, не замечая чужого потяжелевшего взгляда: — Ну конечно! Мне всего лишь нужно заставить его составлять слова! Распознавание речи. Пусть по-быстрому переводит в текст, — он отодвинул Королёра, начиная быстро печатать новые строки кода. — Скрэтч, это не решит проблему. Ты буквально кормишь его искажёнными данными: как ему понять, что пользователь, например, доволен? Он же должен уметь это распознавать… — Это временно. Пускай пока с костылём, но работает. Нам главное, чтобы было что показать — во что будут инвестировать и покупать. Потом сделаем более крутую версию, — Алекс улыбнулся, пытаясь тем самым успокоить Гранта, мужчина лишь откатился на стуле, складывая руки на груди. — Ты не исправляешь проблему… ты создаёшь новые, ставишь костыли и прячешь их, — Королёр выдохнул, но не стал лезть более. Не его отдел — не ему диктовать, что и как делать, — создай мне, пожалуйста, аккаунт, чтобы я мог помогать. Не хочу сидеть под твоим аккаунтом. — Да без проблем! Что насчёт…***
kinger@circus:~$ id uid=1001(kinger) gid=1001(kinger) groups=1001(kinger),27(sudo) $: Доброе утро, Королёр.