The Jerusalem PostIsraeli man detained in India for carrying live cartridge of ammunition leftover from IDF serviceESPNHow ChatGPT and Lane Kiffin could have gotten LSU kicked out of the SECInquirerBukidnon school eyes safety upgrades after Grade 12 student’s deathPunchEXPLAINER: What every business should know about CAC annual returnsוואלהצה"ל: חוסל מחבל נוח'בה שפשט למעבר ארז ב-7 באוקטוברUN NewsYemen escalation displaces more than 57,000 children: UNICEFBollywood HungamaLuv Ranjan unveils first look of Pehla Pyaar Doosri Baar featuring six debutants, film to release on October 23Premium TimesNIDCOM says Nigerian detained in India refused opportunity to returnIl Fatto Quotidiano“Non so quanto tempo avrò”: Il calcio dominante di Amorim al Milan non si vede. San Siro fischia, ora l’allenatore è preoccupatoCapital FMNyamira University Set for First Intake as Construction ProgressesБи-би-си«Нарисованные победы». Как российские военные с помощью ИИ имитирует успехи на фронте7sur7Menaces de Trump: “Personne” ne dicte au Canada avec quels pays il peut conclure des accords, riposte Carney
The Daily Newsstand · Free, Always
Thursday, September 17, 2026

Не только PyTorch. О чём на самом деле новая книга Лоуренса Морони

Translate

Название новой книги Лоуренса Морони — «Искусственный интеллект и машинное обучение для программистов в PyTorch» — на первый взгляд кажется довольно-таки скучным. Создается впечатление, что это очередной учебник по ИИ с использованием Python: в начале немного теории, потом базовые классы, потом еще базовые классы, потом очень базовые классы, и где-то по дороге читателя уже неизбежно потянет в сон.

Но нет: Морони написал совсем другую книгу. Она начинается как учебник по PyTorch, в середине превращается в практический курс по NLP и Transformer, а заканчивается почти полноценным туром по современному генеративному AI.

Давайте разберемся, как автор умудрился проделать этот фокус.

Сделай сам

Морони начинает с практического подхода: никаких готовых LLM и стандартных моделей: в первой главе он предлагает самому собрать простейшую нейросеть на PyTorch, обучить ее и посмотреть, что из этого получилось. И это сделано вполне осознанно: автор строит книгу по принципу «сначала попробуем руками, потом будем разбираться дальше». Сам он именно так описывает свой подход — code-first и без необходимости начинать со сложного математического аппарата.

При этом «сделай сам» не означает «напиши собственный ChatGPT». Первый проект гораздо скромнее: научить сеть различать классы объектов, а затем посмотреть, почему она ошибается, что такое переобучение и как его обнаружить. Во второй главе в качестве полигона используется Fashion-MNIST, а в третьей задача становится уже вполне наглядной - нейросеть должна отличать людей от лошадей.

И вот это, пожалуй, одна из самых удачных особенностей первой части: автор дает читателю возможность экспериментировать с моделью, например, покрутить параметры, изменить архитектуру. В результате PyTorch становится не очередным API, а живым рабочим инструментом для экспериментов.

Четыре главы про то, чем никто не любит заниматься

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

Четвертая глава целиком посвящена датасетам и загрузке данных в PyTorch. Здесь есть разбиение выборки, batching и shuffling, параллельная загрузка и вообще вся та инфраструктура, которая прекрасно знакома любому, кто хоть раз пытался накормить модель чем-нибудь посложнее игрушечного набора данных.

Дальше начинается NLP. Глава 5 посвящена токенизации: собственный токенизатор, готовый токенизатор из Hugging Face, последовательности, padding, неизвестные токены, очистка текста, загрузка реальных данных из CSV и JSON. Здесь рассматриваются типичные проблемы с исходными файлами и тем, как превратить их в пригодную для модели форму.

Следующая глава — про embeddings: читатель строит классификатор предложений и даже детектор сарказма, а затем может экспериментировать с размерностью embedding, размером словаря, архитектурой модели, скоростью обучения и регуляризацией. В конце автор доходит до визуализации embeddings и предварительно обученных представлений.

А затем появляются RNN и LSTM. Сегодня рядом с Transformer они выглядят почти как гости из прошлой эпохи, однако в логике книги этот кусок на своем месте: читателю сначала показывают разные способы работы с последовательностями, а уже потом подводят к архитектуре, которая перевернула NLP.

Получается четыре главы, которые на первый взгляд выглядят не самой захватывающей частью книги, но в этом определенная педагогическая хитрость. Когда позже появятся Hugging Face, Transformer и LLM, читатель уже успеет увидеть, какую работу за него теперь делают готовые инструменты.

Исторический артефакт

Седьмая глава внезапно переносит нас в эпоху, когда слово «последовательность» еще не означало автоматически Transformer. В книге появляются RNN, затем LSTM, потом двунаправленные RNN, а следом - генерация текста и различные эксперименты с архитектурой и обучением. Для читателя, который пришел к машинному обучению в эпоху GPT, это почти археология: оказывается, до self-attention тоже как-то жили, причем довольно активно.

Здесь Морони делает полезную вещь: он не рассказывает историю развития нейросетей в виде музейной экскурсии «раньше люди страдали, а потом придумали Transformer». RNN действительно используются по назначению: сначала для классификации текста, затем для генерации текста, а позже похожие методы появляются при работе с временными рядами.

После NLP автор переключается на последовательности вообще и предлагает работать с временными рядами. Сначала идут вполне классические вещи - тренд, сезонность, автокорреляция, шум, наивный прогноз и скользящее среднее. Затем появляются оконные наборы данных и нейросетевые модели, а для экспериментов используются, в частности, погодные данные NASA.

Сегодня такой материал может показаться слегка анахроничным, ведь если задача связана с современным NLP, первым делом мы, скорее всего, будем думать о Transformer. Но именно поэтому этот кусок книги интересен: он позволяет увидеть, что именно Transformer пришел заменить. С этого места книга начинает заметно ускоряться. До сих пор мы в основном строили модели, теперь пришло время посмотреть, что бывает, когда модель уже кто-то построил до нас.

Книга переключает передачу

До этого момента Морони в основном учит читателя делать модели самому. Теперь подход меняется: глава 12 вводит понятие инференса, следующая посвящена хостингу и обслуживанию моделей, а затем книга открывает дверь в Hugging Face Hub и, наконец, подробно разбирается с Transformer.

Именно здесь становится особенно заметно, что перед нами не просто учебник PyTorch: одно дело - обучить модель в ноутбуке, совсем другое - сделать из нее работающий сервис. Поэтому после разговора о том, как получить результат от обученной модели, Морони показывает два вполне рабочих варианта ее обслуживания: TorchServe и Flask.

Это поворотный момент, потому что здесь заканчивается уютная лаборатория, и появляется знакомый программистский вопрос: а как это запихнуть в приложение? В 14-й главе вместо собственной модели предлагается заглянуть в готовые хабы - прежде всего, Hugging Face Hub и PyTorch Hub, и научиться использовать уже обученные модели. После этого появляется глава о Transformer, в которой имеется практическая часть с библиотекой transformers, pipeline и токенизаторами.

Получается довольно разумная последовательность: сначала читатель несколько глав живет внутри моделей, потом ему показывают, как модель превратить в сервис, затем - где брать модели, которые уже обучены другими людьми, и только после этого начинают подробно разбирать тот самый Transformer, на котором сегодня построена значительная часть генеративного AI.

А следующая остановка еще интереснее. Потому что после того, как мы решили не писать модель самостоятельно, возникает закономерный вопрос: а что делать, если готовая модель почти подходит, но все-таки не совсем?

Самая интересная часть книги

До этого мы постепенно двигались от собственных небольших моделей к готовым решениям, а в 16-й главе наконец появляется то, ради чего многие и открывают книги по современному AI, - большая языковая модель и попытка приспособить ее под собственную задачу.

Причем Морони не ограничивается одним рецептом, он фактически предлагает три разных пути, которые очень хорошо иллюстрируют современную кухню разработки:

1.       Модель недостаточно хороша под вашу задачу → fine-tuning.

2.       Не хочется или не нужно переучивать модель → RAG.

3.       Хочется контролировать всё самому → локальная LLM через Ollama.

Это три совершенно разных инженерных решения одной и той же проблемы: как превратить чужую обученную модель в полезный компонент собственного приложения. И, конечно, на этом автор не останавливается. Если с текстом мы уже разобрались, остается последний вопрос: а почему бы не заставить всю эту машинерию еще и рисовать картинки? Именно туда повествование направляется в двух последних главах.

Финальный сюрприз

Казалось бы, после LLM, fine-tuning, Ollama и RAG можно было уже ставить точку, но у Морони на этот счет другое мнение. Две последние главы посвящены генеративным моделям изображений и снова меняют декорации: вместо текста и языковых моделей речь идет о diffusion, Hugging Face Diffusers, image-to-image и inpainting.

В 19-й главе автор сначала разбирает саму идею диффузионных моделей, а затем переходит к библиотеке Diffusers и показывает работу с уже готовыми генеративными моделями. То есть снова работает уже знакомая по предыдущим главам схема: не обязательно строить всю модель самостоятельно - гораздо интереснее взять существующую и научиться использовать ее как инструмент.

Но 20-я глава снова возвращает нас к первоначальному принципу книги: сделай сам. Теперь объект эксперимента - не небольшой классификатор, а LoRA для генеративной модели изображений. Морони показывает подготовку набора данных, запуск тонкой настройки через Diffusers, публикацию получившейся модели и использование собственной LoRA для генерации новых изображений. В самом начале книги мы брали небольшой датасет и учили с нуля относительно простую модель отличать одни изображения от других. В конце делаем нечто гораздо более актуальное: берем большую готовую генеративную модель и адаптируем ее под свои данные.

Так что же это всё-таки за книга?

Читатель берет в руки «Искусственный интеллект и машинное обучение для программистов в PyTorch», ожидая увидеть очередной учебник по фреймворку. И действительно получает PyTorch - причем с самого нуля и с большим количеством практического кода, но на этом путешествие только начинается. За 400 с лишним страниц Морони успевает провести читателя через компьютерное зрение, обработку текста, embeddings, RNN и LSTM, временные ряды, инференс и хостинг моделей, Hugging Face и Transformer, а затем добраться до LLM, fine-tuning, prompt-tuning, Ollama, RAG, diffusion и LoRA.

Книга показывает несколько разных способов работы с готовыми моделями и постепенно расширяет инструментарий программиста: что-то можно написать самому, что-то проще взять готовым, что-то дообучить, к чему-то добавить собственные данные, а что-то вообще запустить локально. И у такого подхода есть очевидный плюс: книга не запирает читателя в одном стеке. Освоив очередной инструмент, он почти сразу получает следующий вопрос и переходит на следующую ступень, а это именно то, что обычно и заставляет разбираться в новой технологии дальше.

Так что название у книги действительно немного скучное, зато содержание оказалось заметно интереснее.

View the original on Хабр

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.