Closed icsabai closed 2 years ago
Most kaptam ezt a machine learning viccet, ha valaki nem ismerné. Ezzel kívánok mindenkinek Kellemes Ünnepeket!
Sziasztok! Ma beszéltünk a ReZero-ról. Fogtam a PyTorch Transformer tutorialját (ebben egy viszonylag kicsi Transformert tanítanak wikipedia-szövegen), és minden további változtatás nélkül (majdnem, a szélességet 256-ra növeltem) beletettem a ReZero-t (egész TransformerEncoder layereket csomagoltam bele, tehát az Attention-t és a Dense réteget együtt, míg az eredeti cikkben mindkettőnek külön alfája van). Az eredmény nem annyira extrém mint a cikkben, de azért markánsan segít a nagyobb (8 rétegű) hálónak:
Ügyes! Ha jól értem ez a training loss. Mi történik közben a teszttel?
Ügyes! Ha jól értem ez a training loss. Mi történik közben a teszttel?
A négy végső test-loss: Shallow ReZero: 5.357 Shallow Transformer: 5.383 Deep ReZero: 5.20, Deep Transformer: 6.74
Sziasztok! Gondolkoztam/körbenéztem a hipergráf modellekből való térépítésen: -Wolframéknak van egy fórumuk, ahol például szó esik arról, hogy milyennek kellene lennie egy gráfnak, hogy az határesetben (messziről nézve) egy izotróp térnek feleljen meg, például a lépészám-távolság az euklideszi távolsághoz tartson, ne maradjon mindig manhattan-távolság (mint egy akármilyen nagy sima rácson). Egyszerű javaslatként egy felhasználó több különböző irányú rács összeépítését javasolja (csak rajzban, nem update-rule-okkal) https://community.wolfram.com/groups/-/m/t/1945186
-Elvileg biztos, hogy lehetséges kellene legyen "tömör tér" felépítése a megfelelő kezdőfeltételekkel. Megmutatják, hogy a hipergráf-modellben elég közvetlenül lehet Turing-gépet is építeni https://www.wolframphysics.org/technical-introduction/equivalence-and-computation-in-our-models/correspondence-with-other-systems/ Szóval legrosszabb esetben egy programozott "térépítő" lépésenként és élenként összeépítheti a kivánt teret. De valahogy ezt mégsem érezzük a fizikai valóság hihető modelljének :). De a self-loop hiperélek (amelyek ugyanabba a csúcsba térnek vissza, ahonnan jönnek) nagyon megkönnyítik, hogy akármilyen információt eltároljunk a gráfban, "a tulajdonléppeni szerkeztének" megzavarása nélkül. Szinte csalásnak érződik...
Ráadásul én egy olyat szeretnék a "táguló tér" mintájára, ami belülről folyamatosan növekszik, nem a szélén. Így Wolframéknál ez https://www.wolframphysics.org/technical-introduction/typical-behaviors/rules-depending-on-two-ternary-relations-the-23-33-case/img/rules-depending-on-two-ternary-relations-the-2_3---3_3-case_io_21.en.png nem jó, mert ez csak úgy növeli, mint a horgolás.
Bocs, hogy tegnap összevissza próbáltam mutogatni, itt https://kooplex.vo.elte.hu/ownCloud/s/a1LyuXYPlDKd03I van Beck Robi diplomamunkája, ez jó összefoglaló, meg vannak benne hivatkozások. A CDT-ben mint mondtam 2-3-4D tetraéderek vannak, de Wolframnál is a "hipergráf" az kb. háromszögeket jelent. A tetrahedrált cellázás dulálisa (mint Voronoi vs. Delaunay) gráf:
A CDT-nél sztochasztikus dinamika van, azaz nem sejtautomata, mert két szomszédos cella nem tud egymástól függetlenül változni. Ezen gondolkoztam sokat, és valami olyasmi lehetne a megoldás, hogy színezni kell a gráfot (Tait coloring) és ciklikusan a 3 szín updatelődik.
Úgy mehetne a tér tágulás, hogy olyan szabály lenne, hogy bizonyos toplógiai hibáknál (wathever it means) beszúródnának új csúcsok/tetraéderek, máshol meg épp eltűnnének (gravitáció), illetve a fenti ábrán az alsó transzformációval kisímulhatna/tovaterjedne. Csak mindezt ténylegesen nem sikerült még leimplementálni, hogy pl. tudja a Kepler törvényeket. Habár szerintem a Kepler mozgás lesz az egyszerűbb, az egyenes vonalú egyenletes mozgásra még kevesebb ötletem van. Az a sejtésem kevésbé fundamentális mozgás mint amennyire ezzel indul a fizika könyv. De persze ezek csak spekulációk.
Elolvastam a diplomamunkát, nagyon érdekes. Egyébként szerintem a kötögető modellek elvileg nem lehetetlenek, mivel amíg a "kötőtű" máshol jár, a megfigyelő nem léptetődik, és így "nem veszi észre", hogy nála áll az idő. De persze egy mindenhol egyszerre, lokálisan működő megoldás sokkal egyszerűb és elegánsabb.
A Wolfram Physics témához, itt egy interjú vele az Edge-n: https://www.edge.org/conversation/stephen_wolfram-computation-all-the-way-down Sok új nincs benne, de ha valaki inkább hallgatni akarja, mint elolvasni.
Hova vezethet a deep learning:
Múltkor távoli asszociációként szóba jött a Numerai, ahhoz a "novelty/curiosity driven" alapú reinforcement learninghez kapcsolódóan, amit @B-Lorentz mondott el. Most jött tőlük a legújabb kiáltványuk: https://medium.com/numerai/building-the-last-hedge-fund-introducing-numerai-signals-12de26dfa69c A közepe táján írja a "predictive value after being neutralized by all other signals" koncepciót, azaz, hogy olyan értékes dolgot kell kitalálni, ami ortogonális arra amit mások kitaláltak.
Többnyire cikkekről beszélünk itt, amik nagyrészt új módszereket mutatnak be, néha pedig ezek alkalmazásáról. Az NVIDIA leigazolta a Kaggle TOP versenyzők jó részét (vajon főállásban Kaggleznek?). Nemrég volt a Kaggle-n egy melanoma detection verseny, itt egy interjú van a győztesekkel: https://youtu.be/L1QKTPb6V_I?t=2
Ha valaki próbálkozik ML versenyekkel, érdemes végignézni, hogy a Kaggle profik szerint mi fontos, és hogy néz ki egy megoldás, ami 3000 résztvevő közül első helyet éri el. Cikkekben ilyeneket ritkán írnak le.
Ha csütörtökön összefoglalod, nem kell végignéznem a videot :-)
rendben, röviden beszélek róla! esetleg valamelyik alkalommal beszélhetnénk az RA challengeről is, ez zárt körű előadás, a publication embargo nem számít így.
szeminárium most
Egy érdekes fejlemény a technikai/szoftver oldalon: Miután a TF2 "bekonvergált" a PyTorch-hoz és google a jax-al "vágott vissza", a Torch is felszedett egy jax-szerű feature-t:
https://pytorch.org/docs/master/fx.html
A t.nn.Module-okat placeholder objektumokkal trace-oló és transzformáló funkcionalitás.
(hogy mondják ezt magyarul? "Helyettesítő objektumokkal a végrehajtást nyomonkövetésének és átlalakításának képessége"?)
Gondolom mindenki látta, hogy kijött az alphafold2 cikk:
Tunyasuvunakool, K., Adler, J., Wu, Z. et al. Highly accurate protein structure prediction for the human proteome. Nature (2021). https://doi.org/10.1038/s41586-021-03828-1
https://www.nature.com/articles/s41586-021-03828-1
Nem csak a módszert írták le, hanem az egész humán proteome-ra lefuttatták és közzétették az eredményeket. Maga a módszer a supplementary-ban van, elég alapos és részletes (62 oldal, 32 számozott algoritmus):
Szeretnénk majd tartani róla egy nagyobb lélegzetű szemináriumot. Már találtam szakembert aki a fehérjeszerkezet vizsgálat oldalról átnézi a cikket. Várok jelentkezőket, akik hajlandóak lennének átnézni a neuronhálós oldalát.
Még nem néztem utána, de bizonyára készítenek róla mások is összefoglalókat, az segíthet az áttekintésben.
Nem láttam sajnos eddig még előzményt hozzá, így gondoltam ide írok. Az OpenAI "megjelentetett" egy új programozási nyelvet, a Tritont, amire azt ígérik, hogy:
"[Triton 1.0 is] an open-source Python-like programming language which enables researchers with no CUDA experience to write highly efficient GPU code—most of the time on par with what an expert would be able to produce."
Ha jól értem, akkor a CUDA-t egyenesen lecserélő nyelvet akarnak ebből csinálni, open source fejelsztéssel. Valaki esetleg tud erről valamit? Nekem eddig az jött le, hogy érdemes lehet részletesebben utánanézni ennek.
Néhány bővebb infó ezen a linken érhető el, pár példakóddal és a dokumentációval egyetemben: https://www.openai.com/blog/triton/ Itt pedig a GitHub repó hozzá, ahonnan az első verzió beszerezhető: https://github.com/openai/triton
Akit érint: a journal club meg van hirdetve felvehető MSc ( dsadvmachlf20sx ) és PhD (FIZ/3/092) tárgyként. Várhatóan az Alex által már hirdetett "Geometric deep learning" témát kell a kreditért feldolgozni.
Jelzem azt is, hogy áttérünk angol nyelvre, mert magyarul nem beszélők is csatlakoznak a szemináriumhoz.
The New Scientist magazine had this story today. I let you to decide if this is the dark or bright side of AI.
The US military has started using AI to guide its air strikes, according to Secretary of the Air Force Frank Kendall.
Speaking at the Air Force Association’s Air, Space & Cyber Conference in National Harbor, Maryland, on 20 September, Kendall said that the US Air Force (USAF) had recently “deployed AI algorithms for the first time to a live operational kill chain”. He didn’t give details of the strike, such as whether it was by a drone or piloted aircraft, or if there were civilian casualties.
Kendall said this use represented “moving from experimentation to real military capability”.
The kill chain is the process of gathering intelligence, analysing and evaluating it and directing weapons to destroy a target. The AI was incorporated into the Air Force Distributed Common Ground System (DCGS), which combines data from various sources, including MQ-9 Reaper drones.
DCGS collects and analyses over 1200 hours of video per day and the USAF is seeking to automate parts of this laborious process, for example with automated target recognition. Human analysts can also make deadly mistakes. In one recent case, a car in Kabul, Afghanistan, supposedly full of explosives was targeted. The vehicle was actually loaded with containers of water, and the resulting drone strike killed 10 innocent people, including seven children.
With the recent withdrawal of US troops from Afghanistan, President Joe Biden announced the US will rely on more “over-the-horizon” operations in which strikes are carried out without forces on the ground to confirm targets. While the new AI can’t order a strike, the fact that it is identifying possible targets for human approval represents a significant inroad into the decision-making process, and the lack of details on the system makes it difficult for experts to evaluate. The USAF told New Scientist it wouldn’t be able to comment before publication.
“Originally, automated target recognition was about identifying and tracking well-defined military targets,” says Jack McDonald, a lecturer in war studies at King’s College London. “We don’t know what kinds of objects or patterns of activity these systems are now trying to recognise.”
Arthur Holland at the United Nations Institute for Disarmament Research in Geneva, Switzerland, says that although expected, use of AI for targeting raises serious policy questions.
“How does one test such algorithms and validate that they are reliable enough to be used in life-or-death missions?” asks Holland. “How can operators know when to trust the AI system and when to override it? If an erroneous strike is launched in part on the basis of an erroneous AI system’s output, does that affect the balance of human responsibility and accountability?”
Holland says these are tricky, but urgent, questions. While there has been much attention given to a possible future in which AI routinely controls “killer robots”, the involvement of AI in lethal military operations now is just as important.
McDonald says that the technology eventually becoming accessible more widely, as has happened with drones, is also a concern. “I’m much more worried about if or when this sort of technology gets in the hands of militias and non-state actors,” he says.
From the news, again, loosely related to the dangers of AI algorithms. Though in this case this is mostly about human decision (most probably based on insight from big data analysis): Frances Haugen's whistleblowing on Facebook's policy. A concise video summary of the problem. In her words: "If Facebook change the algorithm to be safer... they'll make less money"
Moore's law for NLP models
New Scientist has an article on vary large ML models: https://www.newscientist.com/article/mg25133550-800-supersized-ais-are-truly-intelligent-machines-just-a-matter-of-scale/ Nothing really new, but they have a figure, plotting the exponential growth of the number of parameters of NLP models. I have copied it and added some stuff (in red), did the "by-eye" extrapolation. If the trend continues, in less than two years it will reach human capacity. At least in "number of synapses".
New record in NLP network size: Megatron-Turing 530 billion parameters. Trained on 560x8 A100 GPUs, 340 billion token dataset, for 1 month. Queries need "only" 40 GPUs and 1-2 seconds.
DeepMind has solved the most complex board game Go, then the "holy grail" of molecular biology, protein folding.
Maybe now nuclear fusion, too?:
Degrave, J., Felici, F., Buchli, J. et al. Magnetic control of tokamak plasmas through deep reinforcement learning. Nature 602, 414–419 (2022). https://doi.org/10.1038/s41586-021-04301-9
What next?
Mivel nincs jobb ML email csoport, nyitok itt egy általános diszkusszió/kéredések streamet.
Most beszéltünk Dobos Lacival, hogy a (sima) photo-z esetén lehetne-e neuronhálós módszernél is alkalmazni olyasmit, amit végül az SDSS photo-z-nél használtunk. Ott a k-nearest neighbor-re csinálunk egy lineáris regressziót, ami nyilván jobb, mint egy globális regresszió, meg jobb a k-nearest átlagnál is, mert elvileg ez tud extrapolálni is. A neuronhálónál olyasmit lehetne, hogy a bemeneten megkapja a k-nearest neighbor magnitúdóit és redshiftjét is, meg a jóslandónak a magnitúdóit is, és úgy tanul, és úgy is jósol. Lehet, hogy a tanító halmazon (nem a lokális szomszédokon) túli extrapoláció így nem jönne létre, de a lineáris regressziónál lehetne robusztusabb.
Egy kérdés ami egyből felmerült, hogy a k-nearest neighbor sorrendjére ennek nem kellene érzékenynek lenni, azaz talán valami permutation-equivariant network kellene, a gráf konvolúciós hálók kapcsán Andris nézegetett hasonlókat. Ugyanez a kérdés merül fel másik problémánál, amikor pl. LIDAR adatok esetén pontfelhők pontjainak koordinátáiból kellene tanulni, itt is mindegy a sorrend.