FPGA Machbarkeitsstudie, Neue NN-Generation

diogeneo

Banned
Registriert
Nov. 2024
Beiträge
179
Hallo,
als Erstes die Grundidee:
FPGA overclocken und die logischen "Fehler", die dadurch entstehen ausnuetzen.

Annahme:
Durch Signallaufzeiten und sonstige Effekte, wie Traegheiten, Kapazitaeten, etc. wird bei einem overclockdem FPGA die Logik beeinflusst.

Best Case:
1. Beeinflussung immer sehr aehnlich bis gleich, also bei gleichen Logiksignalen.
2. Abhaenigkeit von Logiksignalen.

Wenn das zutrifft, dann kann es ans Werk gehen.

Ich suche FPGA-Nerds, die mir dabei helfen koennen. Kann nur remote beitragen und auch nur Wissen. Finanziell noch nix.

Zum "Versuchsaufbau":
Moeglichst guenstiges FPGA-Board. Wenn moeglich AMD Xili... A7 oder aehnliches.
(Weil kaputt moeglich)
Habe zwar Eins, komme aber gerade nicht ran. (DIGILENT)
Deshalb, auch das Deine erste Aufgabe, wenn Du nicht schon Eins hast, mit dem Du bereit bist zu probieren.

Worst case:
1. Temperaturentwicklung zu gross und nicht kontrollierbar. (nicht mal mit Wasserkuehlung)
2. Fehler zu zufaellig

Aber sind wir mal optimistisch. In den meisten Datenblaetten steht ja, dass man bis zu 50% overclocken kann, ohne das es grossartig stoert.

Vorgehen allgemein:
1. A0-Muster anlegen.
2. 50% mit "und" verknuepfen, Rest "oder".
3. Taktrate hochziehen, bis erste Fehler aufrteten. Temperatur immer im Auge haben.
4. Fehler auswerten.

So und jetzt zu tieferen Idee:
Angenommen, alles geht glatt, es gibt Taktraten, wo bei Und-Gliedern je nach Anzahl von high-Signalen auch ein high kommt.
Also falsch positiv.
Es geht aber auch, dass bei Oder-Glieder je nach Anzahl von high-Singalen ein low-Signal kommt.
Also falsch negativ.
Am Besten waeren natuerlich Beide gleichzeitig und gleich bei gleichen Bedingungen.
Damit haetten wir dann die Struktur, mit der wir arbeiten koennen.
Unser "Rohgehirn".

Wenn wir bis hier her gekommen sind, haben wir schon was zu feiern.
Dann geht es aber erst richtig los.

1. Ziel:
Internen Taktbereich am Besten durch Rueckkopplung festlegen. Das Gelernte hierbei brauchen wir spaeter sehr dringend.

2. Ziel:
Audio-ADC Eingangsbereich implementieren. 1Bit FFT-Spektrum-Aufteilung. Beispiel 5-10 Hz, 10-20 Hz, 20-30 Hz, ... , 20-20,01 kHz
Aufteilung laut Eingangskapazitaeten und Interessenbereich. Erst ein Kanal, dann 2.

3. Ziel:
Audio-DAC Bereich.
Signalgeneration ruecktransformation von Bit-Muster von Ziel 2.

4. Ziel:
Dynamik-Speicherbereich implementieren.
Informationsspeicherung durch dynamische Rueckkopplung. Praktisch Ziel 1 Erweiterung.

5. Ziel:
Kontrollbereich implementieren.
Zur "Ueberwachung" aller existierenden Bereiche

6. Ziel:
Das Spannendste! Bereiche verschalten und "Lernmethoden" und Optimierungen entwickeln.


Wenn wir das geschafft haben, dann haben wir die Basis fuer eine echte neue Generation.
Low-consum, high-effizient, super-schnelle, ueberpruefbare, leicht lernbare neuronale Netzwerke.

Absichtlich keine Zeitvorgaben. Ich hasse Zeitdruck!
Wenn es weiter geht, dann geht es weiter. Wenn nicht, dann halt nicht. Nur Langeweile darf keine aufkommen.
 
Zuletzt bearbeitet:
diogeneo schrieb:
Wenn wir das geschafft haben, dann haben wir die Basis fuer eine echte neue Generation.
Low-consum, high-effizient, super-schnelle, ueberpruefbare, leicht lernbare neuronale Netzwerke.

Mit anderen Worten: "Bye bye openIA, MetaIA, und und und"
Ahja? Ich weiß nicht so recht wie ernst ich deinen Post nehmen soll.
 
  • Gefällt mir
Reaktionen: spfccmtftt89
@gaym0r Wie erst wurde

Rudolf Diesel

genommen?
Ergänzung ()

Ich habe mein erstes NN 1997 programmiert.
Warum?
Da war noch nix mit KI-Hype.
Wollte nur ein System schaffen, das "denkt".
Hat zwar noch nix "Nuetzliches" gedacht, aber sich selber erhalten.

Warum dieses Projekt nicht mit Text- oder Bildeingabe?
Das System soll spaeter Videoeingang haben.
Vorerst aber nur "hoeren" koennen.
Aber erst mal nur "blind" sein.
Man muss ja nicht gleich mit so was kompliziertem anfangen. Wenn es erst mal geht, dann kann man ja immer weiter erweitern.

Wenn man sich "unterhalten" kann, waere das fuer mich schon mal als Erstes genial.

Spaeter kann man dann an die Robotik gehen.
Aber jetzt schauen wir erst mal :)
 
Zuletzt bearbeitet:
Schade, dass es kein Interesse gibt.
Gibt es hier wirklich keine FPGA "Liebhaber"?
 
Diese Liebhaber wirst du am ehesten an Max-Planck-, Fraunhofer-Instituten oder Universitäten finden, die sich mit der Erforschung/Entwicklung von neuronalen Netzen aktiv beschäftigen.
 
  • Gefällt mir
Reaktionen: ALIEN_I_AM
00Julius schrieb:
neuronalen Netzen aktiv beschäftigen.
Bis jetzt habe ich leider noch keinen gefunden, der ueberhaupt NN mit FPGA angeht.
 
Und hier werde ich scheinbar auch keinen finden.
Schade.
 
Mir wuerde ja auch schon ein Billigboard fuer Tests reichen.

Also hat Jemand Lust, da einzusteigen?
 
3s Google-Suche:
https://www.reddit.com/r/FPGA/comments/18m05xu/why_are_fpgas_not_dominating_gpus_for_neural/

Und wenn du ernsthaft glaubst, in diesem Markt mit hunderten Milliarden Dollar Umsatzpotential hätte da noch keine drüber nachgedacht, bist du zu naiv.

Gleiche Googlesuche, 3 Treffer tiefer: https://medium.com/syncedreview/nvi...right-answer-for-accelerating-ai-83c810969edd

Und mit Intel und AMD besitzen 2 größere Player im AI-Hardware Bereich auch gleich FPGA Hersteller: AMD hat Xilinx vor ein paar Jahren gekauft, und Intel Altera.

Du wirst hier in deinem Keller nicht den dicken Durchbruch erreichen, den bisher die klügsten Köpfe auf dem Planeten in großen Teams nicht gefunden haben. Keiner von uns wird da die Industrie auf den Kopf stellen.
 
  • Gefällt mir
Reaktionen: gaym0r, TomH22, ALIEN_I_AM und eine weitere Person
Autokiller677 schrieb:
Keiner von uns wird da die Industrie auf den Kopf stellen.
Ich moechte auch nicht diesen Kopfstand.
Nur eine Studie, weil mMn. das sehr viel Energie sparen koennte.
Und zwar mit existierender Technologie.

Der erste Link geht bei mir nicht und der zweite hat irgendwie ein ganz anderes Thema.

Nur mal mit anderen Worten, worauf ich hinaus wollte:
NN brauchen sehr viel Rechenleitung weil seriell alles abgearbeitet werden muss.
Da waere die Parallelverarbeitung bei FPGAs sehr vorteilhaft.
Die durch das Overclocking entstehenden "Fehler" koennten hilfreich sein, "naeher" an biologische NN ran zu kommen.

Aber wo kein Interesse, da auch kein Fortschritt.
Ergänzung ()

Autokiller677 schrieb:
Und wenn du ernsthaft glaubst, in diesem Markt mit hunderten Milliarden Dollar Umsatzpotential hätte da noch keine drüber nachgedacht, bist du zu naiv.
Vielleicht bin ich ja wirklich sehr naiv, aber irgendwie habe ich noch keine Info darueber, dass Jemand in diese Richtung gedacht haette.
Und wenn wirklich Jemand das gemacht haette, dann muesste es ja Argumente geben, warum es nicht erfolgreich war.
Also wenn da Jemand etwas weiss, waere ich sehr dankbar fuer Infos.
 
Wie gesagt, wenige Sekunden Google finden Infos dazu. Links hab ich gepostet, die funktionieren auch.

Mal davon ab wird halt nicht jeder Gedanke, den mal jemand hat veröffentlicht.
Alle großen AI Firmen haben massiv Probleme durch den Stromverbrauch und gehen gerade bekloppte Projekte an wie Atomkraftwerke bauen. Die haben alle Richtungen angeschaut.
 
  • Gefällt mir
Reaktionen: abcddcba
Autokiller677 schrieb:
Alle großen AI Firmen haben massiv Probleme durch den Stromverbrauch
Wenn das eine unloesbare Schwierigkeit waere, dann wuerde unser NN nicht mit 20 Watt auskommen.
 
Also ich sehe weiterhin eine echte Prarallelitaet als Loesungsansatz.
Und durch das Uebertakten wird das zwar wieder etwas eingeschraenkt, ermoeglicht aber dafuer andere Moeglichkeiten.
 
Naja, scheint Niemand oeffentlich machen zu wollen.
 
Warum machst Du es nicht einfach selbst? Ein Digilent Arty kostet zur Zeit so knapp 200 EUR (war vor der Pandemie mal nur halb so teuer) ein CMOD S7 gibt es billiger?

Oder suchst Du einfach nur jemanden der sein FPGA Board potenziell bei Overclocking Experimenten opfert, weil Du nicht mal die Kohle hast, ein 200 EUR Board selber zu kaufen?

Worauf Du hinaus willst, kann man sowieso nur raten. Ich glaube Du hast irgendwie die Hoffnung das eine LUT beim Overclocking irgendein wie auch immer geartetes reproduzierbares „Fehlverhalten“ aufweist, was man in irgendeiner Weise dafür nutzen kann, diese LUT als Knoten in einem NN zu nutzen.

diogeneo schrieb:
Wollte nur ein System schaffen, das "denkt".
Hat zwar noch nix "Nuetzliches" gedacht, aber sich selber erhalten.
Inwiefern „denkt“ denn ein NN in Deinen Augen. Ich verstehe zwar nicht viel von NN, aber der Begriff „denken“ in diesem Zusammenhang wäre mir neu.
 
TomH22 schrieb:
Oder suchst Du einfach nur jemanden der sein FPGA Board potenziell bei Overclocking Experimenten opfert, weil Du nicht mal die Kohle hast, ein 200 EUR Board selber zu kaufen?
Ja, da hast Du leider Recht. FPGA-Boards stehen zur Zeit leider nicht auf der Liste von Sachen, die ich mir leisten kann.

TomH22 schrieb:
Inwiefern „denkt“ denn ein NN in Deinen Augen. Ich verstehe zwar nicht viel von NN, aber der Begriff „denken“ in diesem Zusammenhang wäre mir neu.
Denken bei biologischen NN heisst fuer mich, Signale auszutauschen. "Mein" erstes NN hat das selbsterhaltend gemacht. Deshalb habe ich das auch als "denken" bezeichnet.
Aber im Prinzip ging es bei der Simulation fuer mich darum, die Struktur zu finden, die nicht "ausgeht", also "stirbt", sondern immer weiter "feuert" und das in nicht repetitiven Mustern.
 
Update:
Ein Bekannter hat mir gesagt, dass man seiner Meinung nach FPGA-Boards nicht mit overclocking schrotten kann, wenn man auf die Waermeentwicklung aufpasst.
Nur wie die Fehler auftreten wuesste er nicht und meinte, dass das zu schwer sei, rauszufinden.
Was ich natuerlich nicht glaube.
 
Kurzer Kommentar durch dein Crossposting:

Deine Grundannahmen sind leider falsch. Moderne NN werden so parallel wie es physikalisch mit aktueller Halbleiterfertigung möglich ist berechnet. FPGAs sind auch nicht stromsparend, der Leckstrom wenn sie nichts machen ist sehr hoch. Und in Benutzung können FPGAs dann von einzelne Watts bis 500+ W verbrauchen.

Dein Gehirn ist etwas anderes, weil es ist 3D und dynamisch, Chips sind aktuell 2D und fix (auch FPGAs).
 
Hancock schrieb:
Und in Benutzung können FPGAs dann von einzelne Watts bis 500+ W verbrauchen.
Muss aber dann schon ein riesen Teil sein.
Aber weniger also CPUs verbrauchen sie auf jeden Fall.
Und ich wurde sogar behaupten weniger als TPUs und GPUs.
Bei ASICs kann man es ja nicht mehr sagen, weil da ja Jedes anders ist.

Hancock schrieb:
Dein Gehirn ist etwas anderes, weil es ist 3D und dynamisch, Chips sind aktuell 2D und fix (auch FPGAs).
Aber die FPGAs kommen naeher an den Aufbau ran, als alles Andere.
Ausserdem bin ich davon ueberzeugt, dass in Zukunft auch in die Dritte gegangen wird.
Und Hardflips faehige Chips gibt es auch schon. Allerdings nur im Labor.

Hancock schrieb:
der Leckstrom wenn sie nichts machen ist sehr hoch
Da sprichst du etwas an, dass ich wahrscheinlich noch gar nicht erwaehnt habe.
Ich bin schwer fasziniert von Rueckkopplung.
Und genau das moechte ich auch hier implementieren. Ein Teil der Info soll dynamisch "kreisen".
Es gibt also keinen Zeitpunkt, an dem das FPGA nix macht.
Diese Info ist allerdings dann auch weg, wenn Strom weg ist.
Aber fuer so etwas wie ein "Kurzeitgedaechtnis" sollte das nicht all zu schlimm sein.
 
diogeneo schrieb:
Aber weniger also CPUs verbrauchen sie auf jeden Fall.
Nope, jede Mobilcpu braucht weniger, da die Power islands haben. Vergleich doch mal ein kleinen FPGA mit einem RP2040.

Und dann schau, was man braucht für ein 50 TOPS FPGA und wie viel die TPU in den Snapdragons verbraucht. Ein FPGA ist ineffizient.

diogeneo schrieb:
diogeneo schrieb:
Ein Teil der Info soll dynamisch "kreisen".

Ne Frage: Hast du mal FPGAs benutzt? (Mehr als nur Blinky)

Ich bin hier jetzt raus, du bist mir zu trollig.
 
  • Gefällt mir
Reaktionen: abcddcba und TomH22
Zurück
Oben