A TinyTorch saját kezűleg tanítja meg felépíteni a PyTorch alapjait
A TinyTorch egy ingyenes, nyílt forráskódú tananyag, amelyben a résztvevők a tenzoroktól a transzformerekig saját maguk építenek fel egy működő gépi tanulási keretrendszert. A PyTorch API-ját követő projekt húsz modulból áll, és GPU nélkül, akár egy 4 GB memóriájú laptopon is futtatható.
- A TinyTorch húszmodulos, ingyenes és nyílt forráskódú tananyag.
- A résztvevők tiszta Pythonban építenek fel egy gépi tanulási keretrendszert.
- A projekt GPU és felhőfiók nélkül, 4 GB memóriájú laptopon is futtatható.
- A tananyag a PyTorch API-ját követi, de nem tartalmazza annak teljes gyártási infrastruktúráját.
- Vállalatok új belépők képzésére és célzott hibakeresési műhelyekre is használják.
A PyTorch belső működését tanítja meg
A PyTorch szerint a nagy, érett rendszerekhez gyakran szükség van egy oktatási célú, kisebb változatra. A TinyTorch ezt a szerepet tölti be a gépi tanulási keretrendszerek világában. A projekt célja, hogy a tanulók ne csak használják a PyTorchhoz hasonló eszközöket, hanem maguk is megértsék, hogyan működnek az alapjaik.
A tananyag tiszta Pythonban készül, és a PyTorch saját programozási felületét követi. A résztvevők így olyan elemeket építenek fel, mint a tenzorok, az automatikus deriválás, a tanítási ciklus, az optimalizálás, a figyelmi mechanizmusok és a transzformerek. A projekt mögött álló csapat szerint ez másfajta tudást ad, mint az elmélet vagy a kész keretrendszer használata.
A TinyTorch nem tartalmazza a PyTorch teljes gyártási infrastruktúráját. Nincs benne diszpécser, C++- vagy CUDA-réteg, just-in-time fordítás és elosztott működés sem. A tiszta Python miatt a készítői szerint a futása a PyTorchnál 100 és 10 000 közötti szorzóval lassabb lehet. A célja ezért az oktatás és a belső működés megértése.
Húsz modul, négy szint és mérhető feladatok
A húsz modul négy egymásra épülő szintbe rendeződik, és a tito nevű parancssori eszközön keresztül, Jupyter-jegyzetfüzetek formájában érhető el. A tanulóknak a nehéz részeket kell megvalósítaniuk, miközben a keretrendszer többi része támogatja a munkát. A használathoz Python- és NumPy-ismeret szükséges, GPU, felhőfiók és korábbi gépi tanulási rendszerszintű tapasztalat viszont nem.
A tananyag már a kezdetektől rendszertervezési szempontokat is beépít. Az első modulban például a tanulók memóriaterhelést számoló memory_footprint() metódust készítenek el még a mátrixszorzás előtt. Később saját maguk foglalják le az Adam optimalizáló állapotváltozóit, majd megmérik, hogy az eljárás nagyjából háromszor annyi optimalizálási memóriát használ, mint az SGD.
A fokozatos felépítés egyik példája az automatikus deriválás. A Tensor osztály az első öt modulban egyszerű marad, a hatodikban viszont a tanulók hozzáadják az enable_autograd() működést, a requires_grad és grad mezőket, valamint a backward() metódust. A projekt ezt futásidejű monkey patchinggel oldja meg, hogy ugyanaz a Tensor osztály maradjon használatban mind a húsz modulban.
A feladatokhoz hat történeti mérföldkő kapcsolódik, köztük Rosenblatt 1958-as perceptronja, az 1969-es XOR-válság, a backpropagation 1986-os újjáéledése, az 1998-as CNN-áttörés, a 2017-es transzformer és egy MLPerf-szerű teljesítménymérés. A készítők szerint a működő hálózat teljesítménye nehezebben hamisítható meg, mint egy egyszerű egységteszt.
Egyetemi kurzusból nyílt közösségi projekt lett
A TinyTorch története 2020-ban kezdődött a Harvard CS 249r kurzusán. A TinyML-ről szóló, végzős hallgatóknak szánt szemináriumhoz nem állt rendelkezésre megfelelő tankönyv, ezért a kurzus jegyzeteiből fokozatosan nyílt adattár és tananyag lett. A projektet a diákok és oktatók példajavításokkal, valamint új fejezetekkel bővítették.
2024-re a kezdeményezés túlnőtt a TinyML eredeti fókuszán, mert egyre többen kérdeztek a nagyobb léptékű tanításról. A projekt két kötetre vált szét, majd a készítők szerint világossá vált, hogy az olvasnivaló önmagában kevés. A TinyTorch körül azóta Marimo-laborok, teljesítménymodellezést oktató MLSys·im, Arduino- és Raspberry Pi-hardverkészletek, interjúfelkészítő StaffML, valamint oktatói központ is kialakult.
A készítők szerint a projektet vállalatok is használják. Egyes csapatok új belépők két-három hetes intenzív betanítására, mások egy teljes negyedévre elosztott belső képzésre vagy célzott hibakeresési műhelyekre alkalmazták. A TinyTorch a forrás szerint azoknak is készült, akik önállóan tanulnának, és azoknak az egyetemeknek is, amelyek értékelhető kurzusként szeretnék használni.
A belépési küszöböt a GPU nélküli tanulás adja
A projekt 2025 decemberében indult közösségi térképe 682 tagot mutat 92 intézményből. A PyTorch beszámolója szerint a használat különösen ott erős, ahol nehezebb GPU-hozzáféréshez jutni. Ez közvetlenül kapcsolódik a TinyTorch egyik alapvető tervezési céljához: a tananyag elvégzéséhez ne legyen szükség drága hardverre vagy felhőfiókra.
A TinyTorch ezért a PyTorch megértéséhez kínál gyakorlati belépési pontot. Aki maga írja meg az automatikus deriválást, memóriát foglal az optimalizálóhoz, majd megfigyeli a tanítási folyamat működését, később könnyebben felismerheti ugyanezeknek az absztrakcióknak a fejlettebb változatait a PyTorchban. A forrás szerint a projektet a tinytorch.ai oldalon lehet elérni.
PyTorch: TinyTorch: Don’t Just Import PyTorch. Build It.