A. függelék. HPC szakértelem útiterv

Mi az “HPC szakértelem”, ahogyan én ismerem? Ez a nagy teljesítményű számítástechnika (HPC), amely a jelfelderítés (kódtörés) igényeiből fakadt. Az én sajátos vonalam a “Tunny” kódtörő projekttel kezdődik a Bletchley Parkban a második világháború idején. Ez egy olyan furcsa szerkezetet eredményezett, hogy az azt kezelő “Wrens” Heath Robinsonnak nevezték el. W. Heath Robinson karikaturista volt, aki fantasztikusan bonyolult gépeket ábrázolt, amelyeket egyszerű feladatok elvégzésére terveztek.

Amikor amerikai haditengerészeti veteránok hasonló célra hasonló készüléket építettek, GOLDBERG néven nevezték el, Rube Goldberg karikaturista fantasztikusan bonyolult gépei előtt tisztelegve, kifejezetten elismerve a Heath Robinson szakértelem eredetét. Az Engineering Research Associates (ERA) egyik alapítója Bill Norris volt. Az ERA építette a GOLDBERG-et, és felvette Seymour Crayt is. Norris később megalapította a Control Data Corporationt (CDC), és Cray hamarosan követte, mint a legfiatalabb alkalmazottjuk. Cray később megalapította a Cray Research céget, amelyhez én 1980 elején csatlakoztam.

Így a Cray Researchnél megtanult nagy teljesítményű szakértelemnek már 40 éves története volt. Talán mivel annyi minden szigorúan titkos volt, sosem írtuk le, hogyan csináltuk a dolgokat. Az intézményi tudás emberről emberre szállt, mentorálás, együttműködés és informális inaskodás formájában.

Az 1995-ös korlát

1995 körül valami megváltozott. Elrejtettük a zavaros részleteket absztrakciók mögé, ami lehetővé tette a jóval bonyolultabb szoftverfejlesztést. Már nem kellett a rendszereket egészként elgondolnunk, és azt, hogy a dolgok hogyan teljesítenek a nyers hardveren.

A nagy teljesítményű számítástechnika esetében ez problémát jelent. A HPC szakértelem továbbra is korlátalapú tervezés, de már nem látjuk azokat a korlátokat, amelyek a tervezést meghatározzák. Ez olyan résztémává vált, amelyet ritkán tanítanak az iskolában (vagy a munkahelyen).

Eközben az 1995 előtti hallgatólagos tudás kivonul a munkaerőpiacról. Az én, mint Őrző (az orosz kifejezés pontosabb: хранитель), szerepem az, hogy ezt a tudást élő gyakorlatként megosszam veletek.

Két sorozat

Két könyvsorozatot alkottam, hogy tanítsam a HPC szakértelmet.

  • A “HPC Tradecraft Apprenticeship”, három könyv, az az intézményi szakértelem, amelyet megtanultam és gyakoroltam, és még ma is gyakorlok. A szakértelem haszontalan, ha nem reprodukálható.
    • The AI Coverup: Are We Really Hallucinating? tanítja a reprodukciós módszeremet.
    • Nobody but Us: A History of Cray Research’s Software and the Building of the World’s Fastest Supercomputer tanítja, hogyan értük el, amit elértünk.
    • The Wizard’s Lens: Learn to Think Like AI tanítja a rendszerszintű gondolkodást, a HPC rendszerek terhelés alatti alapos megfigyelésével és jellemzésével, a modern AI-t használva példaként.
    • A fenti három könyv az átadási protokoll; a HPC tervezés; a HPC üzemeltetés.
  • A “The HPC Tradecraft Master Practitioner”, három könyv, amelyben a szerző elengedi magát és szórakozik, kifejezve HPC szakértelmének mesteri fokát.
    • Ethics in High-Stakes Environments: Personal Survival Within a Power Imbalance felkészít a friss diplomás elháríthatatlan erőegyenlőtlenségére az erkölcsileg semleges vállalati környezetben.
    • Unexpected Histories: Spotting Patterns and Making Connections That Others Miss bemutatja a hibakeresési készségek alkalmazását a számítástudományon kívül, megmutatva azok értékét és időtlen jellegét.
    • Constraint-Based Design: An Unexpected Gateway to Understanding Modern LLM Architecture bemutatja, hogy az 1986-os szakértelem közvetlenül alkalmazható a modern AI transzformer architektúrára és annak használatára.

1. könyv. The AI Coverup: Are We Really Hallucinating?

Iteratív módon alkottam meg az 1. könyvet, ahogy körüljártam, mit is szeretnék valójában megosztani, miért fontos, és hogyan tehetem elérhetővé a megfelelő emberek számára.

  • Megmutatom a tanítási módomat: egy formáló szöveget, amely azt teszi, amit tanít, amit a reprodukció módjaként fogalmazok meg.
  • Szűrőként és feltételként szolgál, hogy az olvasók rendelkezzenek a szükséges információval, mielőtt megvásárolnák/elköteleznék magukat a két nagy zászlóshajó-könyv mellett.
  • Kimondja, hogy a Nobody but Us előfeltétele a Wizard’s Lens-nek, amit az olvasók problémásnak érezhetnek, ha az AI miatt jöttek. A Nobody but Us nélkül az olvasóknak hiányzik az a rendszerszintű megközelítés, amelyet 1995 körül megszűntünk tanítani.

Maga a sorrend a formáció. Ez volt a tanítási rend a Cray Research-nél.

2. könyv. Nobody but Us: A History of Cray Research’s Software and the Building of the World’s Fastest Supercomputer

Ez a könyv messze a legterjedelmesebb és a legnagyobb mélységű. Ennek ellenére a különböző olvasói profilok szerinti végigolvasások következetesen „egyenetlennek” jelzik a minőségét. Ez az érzet abból fakad, hogy a könyv próbálja leküzdeni az Edwin Abbott-féle Flatland-paradoxont. A „nézd ezt” felkiáltás a formációs szöveg közepén egyenetlen minőségűnek tűnhet, ami szerkesztőt igényelne, és egy ember talán így is látná, de a „nézd ezt” valójában olyasmire mutat, amit a legtöbb olvasó a saját szókészletével nem is tud megnevezni.

A könyvnek fontos szerepe van a szerző hitelesítésében (bemutatás útján, nem állítás útján). Miért? Mert a következő könyv olyan látszólag felháborító állításokat tesz, amelyek nem bizonyítottak addig, amíg az olvasó el nem ér az utolsó fejezetig. Az állítások a „Nobody but Us” mesterségbeli tudásán alapulnak.

Amit a Cray Research elért, azt jól dokumentálták. Ez a könyv azt tanítja, hogyan csináltuk. De van egy másik oldala is, amelyet a következő könyv tárgyal.

3. könyv. The Wizard’s Lens: Learn to Think Like AI

Gondoljunk Jay Forresterre, Donella Meadowsra, Eli Goldrattra, Robert Gagnéra és Anders Ericssonra, akikre mindre hivatkozik a könyv. Ez a HPC-rendszerek szoros megfigyelésének és jellemzésének mestersége, ahol az AI működő példaként szolgál. Ez a Cray Research szemlélete, amely az akadályokat lehetőségnek tekinti. Az akadályok jelölik ki a maximális tőkeáttételi pontot. Meadows felsorolja a tőkeáttételi pontokat. Az én céljaimhoz az ő listáját Liebig minimumtörvényére szűkítem le (a növények növekedését a relatíve legszűkösebb tápanyag korlátozza). Ez az elv megfelel Goldratt A cél (The Goal) című könyvének is.

Az előző könyvben tanított készségek helyett ez a nézőpont-váltást tanítja, a rendszerek egészként való szemlélését, a rendszerek közötti kölcsönhatásokat a határfelületeken, valamint azt a hozzáállást, hogy ne zavarjon az, hogy valamit még sosem csináltak.

Ezzel zárul a fő sorozat, a „HPC Tradecraft Apprenticeship” (HPC-mesterségbeli tanulóidő).

4. könyv. Ethics in High-Stakes Environments: Personal Survival Within a Power Imbalance

A könyv jelenleg készül. Az az alapfeltevésem, hogy nem adjuk meg a számítástudósoknak, különösen a frissen végzett diplomásoknak, azokat a képességeket, amelyekkel túlélhetik a vállalati hatalmi egyenlőtlenséget. Két esszét írtam ezzel a hatalmi egyenlőtlenséggel kapcsolatban. Ezek az alapanyagok, amelyekből a könyvet megírni tervezem, de az esszéknek önmagukban is sürgető jelentőségük van, ezért folyamatban lévő munkaként adom ki őket.

5. könyv. Unexpected Histories: Spotting Patterns and Making Connections That Others Miss

Ez a könyv 15 esszéből/fejezetből áll, összesen 49 000 szóból, és bemutatja az elsődleges forrásanalízis mesterségbeli tudását, valamint azt, hogyan lehet érdekes elbeszéléseket felépíteni „az összefüggések meglátásával”, amelyeket mások elszalasztanak. Bár technikailag semmi nem nehéz benne, úgy tűnik, hogy egyeseknek megvan ehhez a rátermettségük, másoknak pedig nincs. A 2. könyvben, a Nobody but Us-ban van egy fejezet arról, mit mond William Friedman az intuíció fejlesztéséről. Ez a könyv ennek az elvnek a gyakorlatba állítása.

A mesterségbeli tudás, amelyet évszázadokon át és a számítástechnikán kívül is bemutatnak, invarianciákat, egy adott technológiától független készségeket mutat fel, miközben bemutatja Dr. Piotr Galperin formáció utolsó szakaszát.

6. könyv. Constraint-Based Design: An Unexpected Gateway to Understanding Modern LLM Architecture

1986-ban egy bare-metal eszközmeghajtót írtam a Cray I/O Subsystem rendszerén belül, viccnek, illetve a szerzői képességek bemutatásaként. Ez egy szöveges kalandjáték, a Swiss Adventure, amelyet a Colossal Cave Adventure inspirált. Ami hasznos benne, az a jellemzőinek összessége.

A játék maga a felhasználót (a kalandozót) egy működési tanulóidőbe kényszeríti, hiányos információval dolgozva egy ismeretlen kontextusban. Készítettem egy PHP/Laravel/React.js verziót, amely élőben elérhető a weboldalamon, állapotmentes, és nem igényel bejelentkezést, regisztrációt vagy adatgyűjtést. Az élő verzió magát a játékot mutatja be úgy, mintha az operátori konzolon gépelnénk, oldalsó kijelzőkkel (lényegében eseménynyomokkal), amelyek megjelenítik az assembly nyelvi rétegeken, valamint az LLM figyelem-mechanizmus mintáin átfolyó adatokat.

Ez tehát egy futtatható kísérője a könyvnek. Az 1986-os forráskód és a PHP-motor is elérhető egy nyilvános GitHub-tárolóban, amelynek legfrissebb időbélyege 2019 májusa, ami korábbi, mint amikor a GPT és a Claude nyilvánosan ismertté vált.

Több érdekes szempont is van.

UPDATE

A forráskód UPDATE formátumban van. Másodlagos források (wikipedia) szerint a CDC UPDATE egyike a legkorábbi ismert forráskód-kezelő rendszereknek, az 1950-es évek végéről vagy 1960-as évek elejéről, lyukkártya-alapú rendszerként. Személyes (elsődleges forrásként szerzett) tudásból tudom, hogy a Cray Research első szoftveres munkatársát közvetlenül a CDC-től vették fel. Belső nyilatkozatokból tudom, hogy a CDC UPDATE-jét átportolták a Cray Researchhez. Amikor 1980-1982 között a Boeing Computer Services telephelyén dolgoztam, a frontend rendszerek CDC Kronos alapúak voltak. Egymás mellett használtam a CDC UPDATE-et és a Cray Research Update-et. Így pontosan ismerem az eredetét.

Viszonylag kevés fennmaradt példa létezik élő, UPDATE formátumú kódra. Ez nyilvánosan elérhető a GitHubon.

APML

Amikor a CRAY-1/S bemutatásra került egy új I/O alrendszerrel (IOS) a mainframe CPU mellett, az IOS “A” Processzorként lett kifejlesztve. Az 1980-as fennmaradt dokumentáció is így nevezte. A CPU assemblere a CAL, azaz Cray Assembly Language volt. Az IOS assemblerét APML-nek hívták, azaz “A” Processor Macro Language.

Az 1986-os forráskód egy élő, teljes csomag, és valószínűleg az egyetlen jelentős példa olyan IOS-programozásra, amelyet egy valódi Cray Research IOS-programozó írt. (Diákként) egy IOS-programozást tanító kurzus keretében írtam, de később 10 évig részt vettem az IOS-csoportban, így elsődleges forrásként állíthatom, hogy hiteles és reprezentatív.

Az „élő” szó itt megtévesztő lehet, mivel már nem létezik olyan rendszer, amelyen futtatható lenne. De a pontos PHP-portolás valóban élő és elérhető online.

A kalandozó élménye

A kalandozó élménye sok hasonlóságot mutat számos operatív képzési területtel. Szándékosan a Colossal Cave Adventure és a Zork ihlette. Érdemes megemlíteni, hogy ezen két program szerzői operatív környezetben dolgoztak. Így a formálódás szempontját nem én találtam fel. Ez már a szöveges kalandjátékok egyik jellemzője volt.

Korlát-alapú tervezés

A forráskódban sok szinten és sok szempontból megjelenik a korlát-alapú tervezés, és lehetséges úgy tanítani a tervezést, hogy nem kell az assembler szintaxisával foglalkozni. A képzési adatokat (minden navigációt és szöveges tartalmat) domain-specifikus nyelvként valósítottam meg, az assembler makró- és mikro-funkcióit használva. Elég alapos tudással rendelkeztem (beleértve a CAL assembler forráskódjának módosítását is) ehhez. A játékfunkciók hozzáadása nem igényelt végrehajtható kódmódosítást.

Itt jön a különös rész: a forráskód architektúrája izomorf a 2017-es “attention is all you need” architektúra funkciójával. Hasonló korlátok hasonló megoldásokat alakítanak ki (Genrich Altshuller TRIZ elve). A működési környezetem meglehetősen hasonló volt egy modern, terhelés alatt álló LLM token-kontextushoz. Figyelemfejek, súlyozás, külső forrásból való lehívás, majd felszabadítás… egészen sok hasonló jellemző van jelen.

Egy működő, közvetlen hardveres (bare-metal) példa a korlát-alapú tervezésre hasznos lehet. De egy 1980-as évekbeli bemutatás arról, hogy a HPC-módszerek relevánsak a modern AI szempontjából, érdekes következményekkel jár, ezért döntöttem úgy, hogy ezt könyvként is közreadom.