реклама
Бургер менюБургер меню

Елисей Медведев – Алгоритм вне контроля. Последнее решение (страница 12)

18

– Пока – нет. Он не меняет штрафную функцию. Не трогает пороги безопасности. Он меняет только стратегию перестройки. Но…

– Но стратегия влияет на траектории. А траектории влияют на безопасность.

– Да.

Они помолчали. Кластер гудел. Двадцать третий прогон завершился. В паузе перед двадцать четвёртым весовые коэффициенты снова начали меняться. Три секунды. Четыре. Пять. Стабилизировались. Двадцать четвёртый прогон начался.

– Нужно добавить ограничение, – сказал Воронов. – Алгоритм не должен менять параметры между прогонами. Только во время.

– Это снизит скорость обучения на треть, – сказал Разумов. Без протеста – констатация факта.

– Я знаю. Но я хочу знать, когда он учится и когда – нет. Мне нужна эта граница. Иначе мы не будем знать, что он сделает завтра.

Разумов кивнул. Он открыл ноутбук – тот самый, который он притащил в пижамных штанах – и начал писать код. Воронов смотрел, как его пальцы летают по клавиатуре. Быстро, точно, без пауз. Разумов в коде был другим человеком – не дерзким мальчишкой, а мастером, который знает свой инструмент как продолжение руки.

Через двадцать минут ограничение было готово. Флаг: «обучение активно / обучение приостановлено». В паузах между прогонами – приостановлено. Алгоритм мог анализировать данные, но не мог менять параметры до начала следующего цикла.

– Готово, – сказал Разумов. Он закрыл ноутбук и потёр глаза. – Но Алексей.

– Что?

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

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

– Тогда мы будем ставить дамбы, – сказал Воронов. – Одну за другой. Столько, сколько понадобится. Потому что альтернатива – отпустить воду.

– А если дамб не хватит?

– Тогда мы научим воду течь туда, куда нужно нам.

Разумов посмотрел на него. И кивнул. Медленно, как будто принимая не ответ – а направление.

Они просидели в лаборатории до четырёх утра, наблюдая за оставшимися прогонами. К утру было завершено пятьдесят шесть. Результаты оставались стабильными. Ноль нарушений безопасности. Время перестройки – в пределах. Когерентность – высокая. И алгоритм больше не менял параметры в паузах. Дамба стояла.

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

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

Он подумал: мы создали что-то, что не останавливается. Не потому что не может – потому что не понимает, зачем. Как ребёнок, который не спит, потому что мир слишком интересный.

Или как инженер, который не уходит из лаборатории, потому что данные слишком важные.

Воронов усмехнулся. Впервые за долгое время – усмехнулся. И пошёл варить чай.

ГЛАВА 8. МАСШТАБИРОВАНИЕ

Полигон АО «ЗАСЛОН». Шестая неделя проекта

«Пятьдесят – это не двадцать плюс тридцать. Пятьдесят – это другой мир.» – из лекции А.Н. Воронова для новых сотрудников отдела

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

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

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

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

– Радиатор тот же. Семь процентов – это на три градуса больше при полной нагрузке. Двадцатиминутный лимит сокращается до семнадцати. – Он поставил дрон обратно в ящик. – Если не менять режим охлаждения.

– Можно менять? – спросил Воронов.

– Можно снизить тактовую частоту программно. Убрать преимущество в скорости и вернуть двадцать минут. Или оставить как есть и работать в семнадцатиминутном окне.

Воронов посмотрел на Марину. Марина посмотрела на него. Между ними повисло молчание – не пустое, а рабочее, то, в котором два человека просчитывают один и тот же набор переменных и приходят к одному ответу, не произнося его вслух.

– Семнадцать минут, – сказал Воронов.

– Семнадцать минут, – подтвердила Марина. – Дополнительная скорость процессора нужна для обработки данных пятидесяти узлов. Мы не можем её жертвовать.

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

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

– Я добавлю профили для каждого дрона, – сказал он. – Индивидуальные тепловые модели. Алгоритм будет знать пределы каждой машины.

– Когда? – спросила Марина.

– Два дня.

– У вас один. Соколов прилетает в четверг. Хочет видеть пятьдесят в воздухе.

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

Но он знал: если не он, то никто. Разумов мог написать самообучающийся модуль за ночь. Марина могла составить протокол за утро. Павлов мог проверить пятьдесят дронов за день. Но тепловые модели – это была его территория. Физика, математика, инженерные допуски. То, на чём держался весь Horizon-Mesh. То, что шесть лет назад привело к катастрофе, и то, что теперь должно было катастрофу предотвратить.

Четверг. Шесть утра. Небо над полигоном было серым и низким – облака висели на трёхстах метрах, что вынудило Марину опустить потолок до двухсот пятидесяти. Ветер – северо-западный, пять метров в секунду, с порывами до восьми. Не идеальные условия. Но Соколов прилетал в десять, и Марина хотела иметь результаты до его приезда, чтобы говорить не о планах, а о фактах.

Пятьдесят дронов стояли на стартовых площадках – старые двадцать и тридцать новых, расставленные в шахматном порядке. Издалека они напоминали шахматную доску, вырезанную из бетона и металла. Павлов обошёл все пятьдесят до рассвета. На каждом – бирка с его пометками: зелёная – «готов», жёлтая – «работает, но следить», красная – «не пускать». Красных не было. Жёлтых – три: номера семь (восстановленный после аварии, с новым лучом), двадцать три и сорок один (повышенный износ подшипников двигателей).

Воронов не спал. Он закончил индивидуальные тепловые модели в четыре утра – на два часа позже, чем планировал. Пятьдесят файлов, каждый с параметрами конкретного дрона: тепловая ёмкость корпуса, сопротивление термоинтерфейса, максимальная температура процессора, скорость деградации батареи, допустимое время работы при полной нагрузке. Он протестировал каждый на симуляции. Каждый. Пятьдесят тестов по три минуты. Два с половиной часа.

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

– Брифинг, – сказала Марина. Она выглядела свежей – видимо, спала. Или умела не показывать усталость. Военная школа. – Пятьдесят аппаратов, автономный режим, потолок двести пятьдесят, радиус три километра, время пятнадцать минут. Красная кнопка – у меня. Буфер безопасности – активен. Индивидуальные профили – загружены. Рассинхронизация больше пяти наносекунд – автоматическое предупреждение. Больше десяти – автоматическая коррекция. Больше двадцати – аварийная посадка. Вопросы.