ГлавнаяБлогTensorless: как я создал свой AI-фреймворк с нуля
AI / Нейросети

Tensorless: как я создал свой AI-фреймворк с нуля

Tensorless — мой опыт создания AI-фреймворка с нуля. Узнайте, как я прошёл путь от изучения PyTorch до собственной библиотеки. Читайте и вдохновляйтесь!

Al
Редакция Algolitalgolit.ru
6 мин чтения23 августа 2026 г.

Tensorless: мой путь от изучения PyTorch до собственного AI-фреймворка

Tensorless — это проект, который вырос из простого желания упростить обучение нейросетей. Если вы когда-нибудь хотели понять, как работают фреймворки машинного обучения, но устали от тонны настроек, эта статья для вас. Я расскажу, как создал собственную библиотеку, какие ошибки совершил и что из этого вышло.

Почему я начал с двух моделей на PyTorch

Прежде чем появился Tensorless, я изучал PyTorch, создавая две реальные модели. Это дало мне базовое понимание процесса: подготовка данных, создание модели, обучение, функции потерь, оптимизаторы, батчинг, сохранение и загрузка моделей, инференс. После двух проектов я заметил, как много рутины в каждой настройке. Мне захотелось автоматизировать этот процесс.

Первая версия Tensorless: обёртка над PyTorch

Изначально Tensorless использовал PyTorch внутри себя. Я не пытался изобретать нейросети, а лишь автоматизировал обучение. Конфигурация определялась автоматически с помощью фиксированных условий. Это работало, но возникла проблема: зависимости раздувались до 500+ МБ. Я хотел лёгкости, поэтому решил пойти дальше и написать собственную реализацию.

Сумасшедшее решение: пишу свою систему обучения

Я начал создавать собственные компоненты: нейросети, обучение, оптимизацию CUDA, пайплайны данных, поддержку TPU, токенизацию, BPE и многое другое. Tensorless превратился из простой обёртки в полноценную систему. Чтобы проверить её, я обучил чат-бота по имени CatTongue — кота, который отвечает на вопросы. Первые результаты были обнадёживающими: кот шутил про кухню и врагов-пылесосов. Но после смены системы обучения результаты стали ужасными: кот начал говорить на древнем языке! Это показало, что запустить код — не то же самое, что заставить модель хорошо работать.

API, которое я всегда хотел

Несмотря на проблемы, интерфейс стал простым. Пример предобучения и дообучения:

import tensorless as tl
# Предобучение базовой модели
base_model = tl.pretrain(out="pretrained_base.tl", max_seq_len=30)
# Дообучение на диалогах кота
model = tl.train("data/conversations.json", pretrained="pretrained_base.tl", out="cat.tl")

Новичок может просто передать данные и получить модель, а продвинутый пользователь — настроить всё под себя. Философия: просто по умолчанию, настраиваемо при необходимости.

Лёгкость и открытый исходный код

Tensorless весит всего 30–40 МБ, в отличие от гигантских фреймворков. Проект открыт на GitHub и PyPI. CatTongue тоже открыт. Но сейчас я застрял на сложных вещах: CUDA, TPU, мульти-GPU и стабильность обучения. GPU определяется, но не всегда ускоряет обучение. TPU и мульти-GPU — та же история. Результаты обучения не всегда сопоставимы с成熟ными фреймворками.

Приглашение к сотрудничеству

Если вы разбираетесь в CUDA, оптимизации GPU, TPU, нейросетях или пайплайнах данных — я буду рад обратной связи. Даже просто указать на проблему — уже помощь. Проект открыт, и я надеюсь на совместное развитие.

Практический вывод: что делать прямо сейчас

Если вы хотите создать свой AI-фреймворк, начните с малого: изучите основы PyTorch, создайте пару моделей, автоматизируйте рутину. Не бойтесь ошибок — они учат. А если вам нужен лёгкий инструмент для экспериментов, попробуйте Tensorless или внесите свой вклад в его развитие. Удачи в ваших проектах!

#Tensorless#PyTorch#нейросети#машинное обучение#создание фреймворка
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →