Ускорение сверток: Мой путь

Изучение оптимизации архитектуры модели для повышения производительности.

3 min readМашинное Обучение

После завершения статьи о NormIs-1 я решил углубиться в оптимизацию модели. Хотя архитектура показала приемлемые результаты по метрикам интеллекта, скорость была серьезной проблемой. Основной причиной этого была Depthwise Convolution, требующая множества обращений к памяти. Небольшой блок сверток находился между блоком внимания и полносвязной сетью (FFN), создавая узкое место в вычислениях. Моя цель заключалась в улучшении этой конкретной области. Разработка полноценной языковой модели с комплексными механизмами внимания была невозможна из-за таких проблем, как нестабильное обучение, взрывающийся лосс или неисправный DataLoader. Вместо этого я выбрал более простой подход: легкая CNN в сочетании с кастомным ядром MLX для инференса и бенчмарками скорости для оценки производительности.

Машинное Обучение