[{"data":1,"prerenderedAt":565},["ShallowReactive",2],{"project-46417815":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":46,"post_text":48,"what":49,"said":68,"maker_in_thread":168,"shape":179,"grid":184,"attempts":528,"same_week":529,"maker_shows":34,"maker_hidden":557,"reader_version":558,"card":559},"46417815","Z80-μLM","A 'Conversational AI' That Fits in 40KB","title","Show HN: Z80-μLM, a 'Conversational AI' That Fits in 40KB","https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai","github.com","quesomaster9000",1766986884,2025,514,122,67,3837,2,"legend","ai","tiny language model","other",[24,25,26,27,28],"z80","language model","quantization","cp\u002Fm","tiny ml","mixed",0.368,{"positive":32,"neutral":33,"mixed":34,"critical":35},21,19,1,4,45,{"execution":38,"idea":40,"privacy":42,"performance":43,"design":45},{"positive":39,"critical":39},0,{"positive":41,"critical":39},11,{"positive":39,"critical":39},{"positive":18,"critical":44},3,{"positive":39,"critical":34},[47,44,39,44,39,47,39,39,39,39,39,39,39,39,39,39,39,44,47,39,39,39,44,47,39,47,47,44,47,35,47,47,44,44,44,44,35,47,44,44],5,"How small can a language model be while still doing something useful? I wanted to find out, and had some spare time over the holidays.\n\nZ80-μLM is a character-level language model with 2-bit quantized weights ({-2,-1,0,+1}) that runs on a Z80 with 64KB RAM. The entire thing: inference, weights, chat UI, it all fits in a 40KB .COM file that you can run in a CP\u002FM emulator and hopefully even real hardware!\n\nIt won't write your emails, but it can be trained to play a stripped down version of 20 Questions, and is sometimes able to maintain the illusion of having simple but terse conversations with ",{"problem":50,"audience":50,"pricing":50,"motivation":51,"time_to_build":50,"stack":57,"openness":66,"stage":67,"team_size":66},null,{"value":52,"source":53,"evidence":54},"Curiosity about how small a language model can be while still doing something useful","maker",[55],{"id":56},"post",[58,62],{"value":59,"source":53,"evidence":60},"Z80 assembly",[61],{"id":56},{"value":63,"source":53,"evidence":64},"Claude API used to generate training data",[65],{"id":56},"unknown","prototype",{"praise":69,"objections":101,"requests":116,"questions":130,"alternatives":152},[70,86],{"value":71,"source":72,"evidence":73},"Impressive constraints and fun demo","commenter",[74,78,82],{"id":75,"by":76,"text":77},"46418121","Zee2","This is super cool. Would love to see a Z80 simulator set up with these examples to play with!",{"id":79,"by":80,"text":81},"46418252","alfiedotwtf","An LLM in a .com file? Haha made my day",{"id":83,"by":84,"text":85},"46419268","jacquesm","Between this and RAM prices Zilog stock must be up! Awesome hack. Now apply the same principles to a laptop and take a megabyte or so, see what that does.",{"value":87,"source":72,"evidence":88},"Nostalgic appeal of running it on retro hardware",[89,93,97],{"id":90,"by":91,"text":92},"46418227","codetiger","Imagine, this working on a Gameboy, in those days. Would've sounded like magic",{"id":94,"by":95,"text":96},"46420245","bartread","This is excellent. Thing I’d like to do if I had time: get it running on a 48K Spectrum. 10 year old me would have found that absolutely magical back in the 1980s.",{"id":98,"by":99,"text":100},"46422527","DrNosferatu","Awesome! Anyone for a port to the MSX? A web version would also be cool.",[102,109],{"value":103,"source":72,"evidence":104},"Would be very slow on real hardware",[105],{"id":106,"by":107,"text":108},"46484661","jrdres","It runs, but it would be very slow on actual hardware. I tried on a cycle-accurate emulator of a TRS-80 Model I with Omikron CP\u002FM mapper. Most Z-80 machines of the time were…",{"value":110,"source":72,"evidence":111},"Hard to get correct answers in the 20 Questions game",[112],{"id":113,"by":114,"text":115},"46419943","jaak","I've been playing the Z80-μLM demos in your CP\u002FM emulator. Works great! However, I have yet to guess a correct answer in GUESS.COM! I'm not sure if I'm just not asking the right…",[117,126],{"value":118,"source":72,"evidence":119},"Port to MSX, Spectrum, or other retro machines",[120,121,122],{"id":94,"by":95,"text":96},{"id":98,"by":99,"text":100},{"id":123,"by":124,"text":125},"46418678","anonzzzies","Luckily I have a very large amount of MSX computers, zx, amstrad cpc etc and even one multiprocessor z80 cp\u002Fm machine for the real power. Wonder how gnarly this is going to…",{"value":127,"source":72,"evidence":128},"Web version",[129],{"id":98,"by":99,"text":100},[131,138,145],{"value":132,"source":72,"evidence":133},"How was quantization-aware training done?",[134],{"id":135,"by":136,"text":137},"46434089","lostmsu","Did you train the model with quantization awareness? How?",{"value":139,"source":72,"evidence":140},"Was sparse weights considered?",[141],{"id":142,"by":143,"text":144},"46419819","Y_Y","Very cool. Did you consider using sparse weights?",{"value":146,"source":72,"evidence":147},"Tokens per second?",[148],{"id":149,"by":150,"text":151},"46418861","NooneAtAll3","did you measure token\u002Fs?",[153],{"value":154,"source":72,"evidence":155},"ELIZA",[156,160,164],{"id":157,"by":158,"text":159},"46418382","dirkt","Eliza's granddaughter.",{"id":161,"by":162,"text":163},"46418634","Zardoz84","Meanwhile, Eliza was ported to BASIC and was run on many home computers in the 80s.",{"id":165,"by":166,"text":167},"46419826","bytesandbits","it's giving Eliza! Ha, fun",{"comments":44,"answered":39,"key":169},[170,173,176],{"id":171,"text":172},"46418597","Oh dear, it seems we've... somehow been psychically linked... I developed a browser-based CP\u002FM emulator & IDE: https:\u002F\u002Flockboot.github.io\u002Fdesktop\u002F I was going to post that…",{"id":174,"text":175},"46420494","Don't tell anybody, but you sit on it",{"id":177,"text":178},"46418550","All the 'Small' language models and the 'TinyML' scene in general tend to bottom out at a million parameters, hence I though 'micro' is more apt at ~150k params.",{"commenters":180,"max_depth":181,"maker_replies":44,"first_comment_mins":182,"lifespan_hours":183},90,8,72,220,[185,189,191,193,195,198,202,204,207,210,214,216,220,223,226,229,232,236,239,242,245,248,251,255,258,261,263,266,269,272,275,278,280,283,285,288,290,293,295,298,300,302,304,306,308,310,312,314,317,319,321,324,328,331,335,339,343,346,349,352,354,357,360,363,366,369,372,375,377,380,384,389,394,397,399,402,404,406,408,411,414,416,419,421,424,428,430,434,437,441,444,446,448,451,452,453,457,459,462,465,467,470,474,476,480,483,487,491,494,496,498,501,503,505,509,511,513,515,517,521,524,526],[186,39,47,187,188,39],"46418327","maker\u002Fpositive\u002Fnone","nineteen999",[171,39,39,190,11,34],"maker\u002Fneutral\u002Fnone",[113,39,47,192,114,39],"project\u002Fpositive\u002Fnone",[174,39,39,194,11,34],"other\u002Fneutral\u002Fnone",[196,39,39,194,197,39],"46423629","sailfast",[199,39,44,200,201,39],"46421604","project\u002Fmixed\u002Fexecution","stevekemp",[203,39,39,194,188,39],"46428336",[205,39,39,194,206,39],"46418708","sixtyj",[208,39,39,194,209,39],"46418863","TeMPOraL",[211,39,39,212,213,39],"46419719","commenter\u002Fneutral\u002Fnone","embedding-shape",[215,39,39,212,206,39],"46425841",[217,39,44,218,219,39],"46419168","project\u002Fneutral\u002Fnone","simonjgreen",[221,39,39,194,222,39],"46420284","abanana",[224,39,39,194,225,39],"46421032","wizzwizz4",[227,39,39,194,228,39],"46422576","homebrewer",[230,39,39,194,231,39],"46425375","supern0va",[233,34,47,234,235,39],"46419112","maker\u002Fpositive\u002Fidea","rahen",[237,34,39,194,238,39],"46419594","noosphr",[240,34,39,212,241,39],"46419791","Zacharias030",[243,18,39,194,244,39],"46418332","Dwedit",[246,18,39,194,247,39],"46419250","nubinetwork",[249,18,39,194,250,39],"46419955","whobre",[252,44,39,253,254,39],"46421671","other\u002Fneutral\u002Fidea","giancarlostoro",[256,44,39,194,257,39],"46422711","Dylan16807",[259,44,39,253,260,39],"46422986","fho",[262,44,39,253,254,39],"46428946",[264,44,39,253,265,39],"46422995","andy12_",[267,44,39,194,268,39],"46423903","qingcharles",[270,35,39,194,271,39],"46419454","andrepd",[273,35,39,194,274,39],"46419595","dangus",[276,35,39,212,277,39],"46419740","messe",[279,35,39,212,274,39],"46422693",[281,35,39,212,282,39],"46428497","spopejoy",[284,35,39,212,271,39],"46420047",[286,35,39,212,287,39],"46420409","ben_w",[289,35,39,212,271,39],"46421116",[291,35,39,212,292,39],"46421684","beagle3",[294,35,39,212,287,39],"46424167",[296,35,39,212,297,39],"46427767","kiicia",[299,35,39,212,274,39],"46422714",[301,35,39,212,271,39],"46423963",[303,35,39,212,274,39],"46454658",[305,35,39,194,287,39],"46420357",[307,35,39,194,274,39],"46422679",[309,35,39,194,287,39],"46424412",[311,35,39,212,274,39],"46436016",[313,35,39,212,287,39],"46483034",[315,35,39,212,316,39],"46428822","fc417fc802",[318,35,39,212,274,39],"46436199",[320,35,39,212,316,39],"46439457",[322,35,39,212,323,39],"46439995","numpad0",[325,47,44,326,327,39],"46418318","project\u002Fneutral\u002Fidea","vedmakk",[329,47,39,194,330,39],"46418513","Kiboneu",[332,47,44,333,334,39],"46418515","project\u002Fneutral\u002Fprivacy","ronsor",[336,337,39,194,338,39],"46420947",6,"bitwize",[340,341,47,192,342,39],"46418299",7,"roygbiv2",[344,341,39,194,345,39],"46418426","wewewedxfgdf",[347,341,39,194,348,39],"46418523","tgv",[350,341,39,194,351,39],"46419164","boomlinde",[353,341,39,194,345,39],"46419470",[355,341,39,212,356,39],"46419798","charcircuit",[358,341,39,194,359,39],"46419814","ant6n",[361,341,39,194,362,39],"46419877","nrhrjrjrjtntbt",[364,341,39,194,365,39],"46422653","lacoolj",[367,341,39,194,368,39],"46425217","fuzzfactor",[370,341,39,194,371,39],"46420761","StilesCrisis",[373,341,39,194,374,39],"46419319","wickedsight",[376,341,39,194,362,39],"46419867",[378,181,44,326,379,39],"46420509","gcanyon",[381,181,44,382,383,39],"46424123","project\u002Fneutral\u002Fperformance","antonvs",[385,386,44,387,388,39],"46421533",9,"project\u002Fneutral\u002Fdesign","gwern",[390,391,47,392,393,39],"46418769",10,"project\u002Fpositive\u002Fidea","orbital-decay",[395,41,39,253,396,39],"46418925","Peteragain",[398,41,39,194,362,39],"46419884",[400,41,39,212,401,39],"46423259","cwmoore",[403,41,39,194,396,39],"46431234",[405,41,39,194,396,39],"46431241",[75,407,47,192,76,39],12,[409,407,47,192,410,39],"46419124","Imustaskforhelp",[412,407,47,192,413,39],"46440095","dmd",[94,415,47,392,95,39],13,[417,415,39,212,418,39],"46420345","tomduncalf",[420,415,39,194,95,39],"46420675",[106,422,34,423,107,39],14,"project\u002Fcritical\u002Fperformance",[425,422,47,426,427,39],"46502994","project\u002Fpositive\u002Fperformance","gp2000",[429,422,47,426,427,39],"46524442",[431,432,47,392,433,39],"46423441",15,"MagicMoonlight",[435,432,39,253,436,39],"46437938","GuB-42",[438,439,47,392,440,39],"46418707",16,"vatary",[442,439,47,392,443,39],"46418860","acosmism",[123,445,34,423,124,39],17,[79,447,47,392,80,39],18,[449,447,44,218,450,39],"46418536","teaearlgraycold",[177,447,39,190,11,34],[83,33,47,392,84,39],[454,455,39,194,456,39],"46424458",20,"boznz",[458,455,39,194,368,39],"46425242",[460,455,39,194,461,39],"46426835","RustyRussell",[463,32,44,382,464,39],"46418460","a_t48",[466,32,44,382,359,39],"46419838",[468,32,44,382,469,39],"46427254","ColonelPhantom",[471,472,44,218,473,39],"46418180",22,"jasonjmcghee",[161,475,39,194,162,39],23,[477,478,44,387,479,39],"46418626",24,"magicalhippo",[481,478,44,387,482,39],"46418979","kouteiheika",[484,485,44,218,486,39],"46421390",25,"coolius",[488,489,44,326,490,39],"46418336",26,"pdyc",[492,489,39,194,493,39],"46418590","Waterluvian",[495,489,39,194,362,39],"46419903",[157,497,44,218,158,39],27,[135,499,44,500,136,39],28,"project\u002Fneutral\u002Fexecution",[98,502,47,192,99,39],29,[142,504,44,387,143,39],30,[506,507,47,192,508,39],"46422615",31,"integricho",[165,510,47,392,166,39],32,[149,512,44,382,150,39],33,[90,514,47,392,91,39],34,[516,514,34,423,80,39],"46418261",[518,514,34,519,520,39],"46418354","project\u002Fcritical\u002Fdesign","Sharlin",[522,514,47,392,523,39],"46418374","lodovic",[525,514,39,253,323,39],"46419688",[527,514,39,194,268,39],"46423942",[],[530,535,540,544,548,553],{"id":531,"name":532,"points":533,"category":534},"46435308","HackerBook",730,"data",{"id":536,"name":537,"points":538,"category":539},"46392910","Witr",526,"dev_tools",{"id":541,"name":542,"points":543,"category":539},"46400251","Ez FFmpeg",420,{"id":545,"name":546,"points":547,"category":534},"46442245","exopriors.com",397,{"id":549,"name":550,"points":551,"category":552},"46420453","balajmarius.com",284,"creative",{"id":554,"name":555,"points":556,"category":20},"46426624","Ensue Memory",202,false,"v2",{"id":560,"name":5,"line":6,"ai":557,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":561,"top":18,"kw":562,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":563,"url":9,"mix":564,"praise":71,"objection":103,"sub":21},46417815,0.37,[24,25,26,27,28],"5303050000000000035000350553545533334533",[32,33,34,35],1794036688338]