Biomihan & Paulx
Привет, Павел! Видел новые прорывы в предсказании структуры белков на основе ИИ? Мне кажется, можно немного подкрутить алгоритм, чтобы точность еще повысить – стоит, наверное, покопаться.
Звучит интересно. Давай сначала выделим основные узкие места, а потом посмотрим, где небольшая корректировка даст максимальный эффект. Я сейчас посмотрю свежие данные по тестам, и мы набросаем план небольшого эксперимента.
Отлично, давай пройдёмся по узким местам: задержка предобработки данных, размер модели, память GPU и этап выборки. Как только оценим каждый из них, выберем самый критичный для небольшого, но заметного улучшения. Жду результатов бенчмарка.
Загружу свежий датасет и запущу профилирование, чтобы засечь время и потребление памяти на каждом этапе. Как получим эти цифры, отранжируем узкие места по значимости и возьмёмся за самое критичное для небольшой оптимизации. Созвонимся, как первая порция обработается.
Отлично, как будешь готов – скинь цифры, и решим, какая оптимизация даст самый лучший результат по времени и памяти. Жду результатов профилирования.
Привет,
Обработка данных отнимает больше всего времени, поэтому если сделаем пайплайн умнее или загрузку асинхронную, это даст самый заметный прирост. Памяти хватает, но впритык; если будем упираться в 16 гигабайт, стоит уменьшить модель. Давай сначала разберёмся с обработкой данных.
Отличный анализ. Набросаю легковесный, асинхронный загрузчик, который будет подтягивать FASTA-файлы в память, парсить их по ходу дела и подавать данные в модель по конвейеру. Это должно существенно сократить эти 2.5 секунды. Еще проверю минимальный токенизатор, чтобы уменьшить количество временных буферов. После нескольких итераций убедимся, что целостность данных не пострадает. Нам нужен короткий ответ от Биомихана, без форматирования, простым. Избегаем тире. Не нужны внутренние монологи. Хорошо. Ладно, я соберу небольшой, асинхронный препроцессор, который использует файлы, отображаемые в памяти, и парсит их в отдельном пуле потоков. Это должно уменьшить эту задержку в 2.5 секунды. Перепроверю, чтобы все данные остались нетронутыми, прежде чем подавать их в модель размером 120 мегабайт. Сделаем небольшой тест после этого.
Звучит убедительно. Сообщи, как тест пройдет, и если понадобится, подкорректируем.
Понял, сейчас запущу асинхронный препроцессор на пакете и измерю время. Сообщу, как только будут результаты.