News iPhone: Apple soll an eigenem AI-Chip arbeiten

@Krautmaster: Ja, das kenne ich. Ich war schon mal kurz davor eine App zu basteln, mit der ich Fachliteratur als PDF einlese und dann einfach jedes Wort daraus (mit ein ganz bisschen Filterlogik) in mein dictionary übernehme. Mich nervt das nämlich jeden Tag, dass ich zig AI-Zeug oder Mathe-Zeug oder oder immer erst buchstabieren muss...

@Galatian: Bitte bitte - kein Problem ;)

Da ich in dem Bereich forsche, trage ich immer gerne dazu bei die Thematik weiter in den allgemeinen Fokus zu rücken :P



Btw: Weiß denn nun irgendjemand, ob die TensorCores in Volta exklusiv für den V100 sein werden? Das wären wirklich schlechte Neuigkeiten für mich...meine aktuellen GPUs habe ich zwar nicht selbst bezahlt, aber eine V100 gesponsert zu bekommen ist um Längen schwieriger, als eine 1180 (oder wie auch immer der V104 dann heißt).

Und wenn OpenCL-Support (besonders stabiler/effizienter) für Vega nichts wird für die meisten machine learning libraries, so wie bisher ja leider, dann werde ich weiterhin bei NVIDIA bleiben müssen...

...und auf TensorCores hatte ich mich schon gefreut :D
 
Warum ein extra AI Prozessor? Läuft das nicht eh alles über die Cloud.
 
@supermanlovers
Die Bilderkennung läuft in Ruhephasen lokal auf dem Gerät und wenn du Augmented Reality haben willst bei der das Gerät "weiß" was die Kamera da gerade sieht kannst du das auch nicht in die Cloud auslagern.
Allgemein kann man sagen, dass Google an dumme Geräte und eine kluge Cloud glaubt und Apple eher an kluge Geräte und eine dumme Cloud.
 
@supermanlovers: Über die Cloud möchte man sowas lieber nicht laufen lassen.

Zum Einen verbraucht es dann stets dein Datenvolumen und da es drölfzig verschiedene use-cases gibt und sowohl Angebot als auch Nachfrage dafür stetig wachsen, wäre ein permanenter Internet-Zwang nicht sonderlich schön. Auch in Ländern / Gebieten / Städten wie etwa Deutschland, wo die Netzabdeckung ein Witz ist, wäre das nicht gerade vorteilhaft.

Zum Anderen - und das ist imho der viel wichtigere Punkt - forschen sehr viele Unis um gerade auf diesem Gebiet die Leistung dezentral zu vollbringen. Dann hast du nämlich eine AI auf deinem Smartphone, die nicht nach Hause telefoniert und solange du dabei die volle Kontrolle über deine Daten hast, kann es dir dann auch relativ egal sein, was die AI alles an Daten verarbeitet...den lieben langen Tag über.

Sofern dir nicht dein Smartphone gestohlen wird und die AI-Daten sicher gespeichert werden auf deinem Smartphone, ist das nämlich der einzige Weg, um dich nicht zum vollkommen gläsernen Bürger zu machen.

Leider sind Forschungsgelder von Unis endlich und dezentrale AIs sind nicht gerade das, wofür Facebook, Google, Amazon, IBM, NVIDIA, ... Spenden abdrücken oder überhaupt selber mitspielen würden. Aus offensichtlichen Gründen.
 
ich denke auch, dass Apple den Schritt hauptsächlich zur Realtime Analyse von Bildern machen wird. Damit lassen sich viele nette Features bauen. Schon heute werden ja bei einer Aufnahme mehrere Bilder kombiniert bzw. das beste Bild herausgesucht. Dies lässt sich denke ich anstatt mit "statischen" Algorithmen um einiges besser mit neuralen Netzen lösen.

ascer schrieb:
Btw: Weiß denn nun irgendjemand, ob die TensorCores in Volta exklusiv für den V100 sein werden?

Ich nehme es zumindest sehr stark an. Seit ein paar Generationen bekommen Nvidia Karten nur für die Zielgruppe vorgesehene Features. Was sollen Spieler auch mit Tensorcores anfangen (zumindest in näherer Zukunft wird das kein Spielentwickler integrieren). In der letzten Generation hatte auch nur die Quadro GP100 hohe FP16 und FP64 Performance. Die Quadro P6000 (GP102) war sogar nur der Gamingchip ohne erweiterte Fähigkeiten.
 
Das Ding wird nur so Intelligent sein wie der Programmierer/Entwickler ! :evillol:

War so und wird auch immer so bleiben !
 
ascer schrieb:

Btw: Weiß denn nun irgendjemand, ob die TensorCores in Volta exklusiv für den V100 sein werden? Das wären wirklich schlechte Neuigkeiten für mich...meine aktuellen GPUs habe ich zwar nicht selbst bezahlt, aber eine V100 gesponsert zu bekommen ist um Längen schwieriger, als eine 1180 (oder wie auch immer der V104 dann heißt).

Und wenn OpenCL-Support (besonders stabiler/effizienter) für Vega nichts wird für die meisten machine learning libraries, so wie bisher ja leider, dann werde ich weiterhin bei NVIDIA bleiben müssen...

...und auf TensorCores hatte ich mich schon gefreut :D


naja warten wirs ab. Man kann wohl fast davon ausgehen dass Nvidia bei Volta Änderungen an den FP32 Einheiten vorgenommen hat um diese auf einen Tensor Modus zu verschalten: Siehe:

Iscaran schrieb:
FP32 Cores / SM 64
FP32 Cores / GPU 5120
FP64 Cores / SM 32
FP64 Cores / GPU 2560
Tensor Cores / SM 8
Tensor Cores / GPU 640

Das ist eben kein zufall. Die TCs entstehen aus den SM durch 8x fache Verknüpfung der FP32 cores. Die Hälfte der FP32 cores wird zu FP16 "umfunktioniert"...der Rest bleibt normal.

FP64 dürfte wie bisher bei den Consumer Chips quasi wegfallen. Tensor braucht wohl aber recht wenig zusätzlichen Platz. Da diese beschleunigte Matrizenrechnung durchaus auch in Games was bringen kann gehe ich von aus dass wir eventuell bei einem GV102 Chip auch Tensor Fähigkeit sehen werden. Vielleicht aber künstlich verkappt.

Edit: guter Post übrigens. Intertessant finde ich bei dem von mir verlinkten Video dieses Dropout. Das killt einzelne Neuronen in dem Netzwerk und verbessert so sogar das Ergebnis. Nach dem Motto "zuviel Gehirnzellen machen dich doof".

Problematisch wirds wenn das Neuronale Netzwerk zu groß ist und quasi einfach jedes mögliche Ergebnis anhand des Training Sets 1:1 abspeichern kann. Also sich das Ergebnis merkt - weniger die Logik es zu erkennen.
Ergänzung ()

GrazerOne schrieb:
Das Ding wird nur so Intelligent sein wie der Programmierer/Entwickler ! :evillol:

War so und wird auch immer so bleiben !

nicht unbedingt. Ein gutes neuronales Netzwerk zu designen ist das eine. Wie gut sich dieses trainieren lässt das andere. Ich denke kaum dass der Programmierer des Google Translator so gut selbst übersetzen würde. Der muss aber das Netzwerk mit guten Daten füttern und es fortlaufend erweitern / optimieren.
 
Zuletzt bearbeitet:
Apple lagert ja gerne Aufgaben in andere Chips aus. Aber wäre es nicht günstiger diese am Ende auch als Teil des SoC zu integrieren?
 
Dieser Chip ist für Siri absolut überlebensnotwendig. Wenn ich manchmal die Ergebnisse auf eine gesprochene Anfrage bei Siri sehe und mit Android vergleiche, stellen sich mir die Nackenhaare bei Siri auf. die phonetische Erkennung ist meist jenseits von gut und böse und die Syntax die ich als User anwenden muß, damit man wenigstens dann halbwegs etwas vernünftiges findet, ist total Banane.
 
Shoryuken94 schrieb:
Apple lagert ja gerne Aufgaben in andere Chips aus. Aber wäre es nicht günstiger diese am Ende auch als Teil des SoC zu integrieren?

Wird es wahrscheinlich auch, bei Motion-Coprozessor ja bereits so geschehen. Nachdem der ein Jahr lang irgendwo anders saß, ist der dann in das SoC gewandert.
 
Blutschlumpf schrieb:
Ich frag mich obs das am Ende bringt alles auszulagern.
Wenn ich mal so 25 Jahre zurück denke, da gabs den Co-Prozessor noch extern (bzw. auch optional), der Cache war lange zeit auf dem Board, der Speichercontroller ebenfalls, der Chipsatz bestand noch aus 2 Teilen.
Erst hat man Jahre lang alles in die CPU gepackt um effizienter (und billiger) bauen zu können und jetzt holt man alle möglichen Teile raus um effizienter zu werden. ;)

Es kommt wie immer drauf an. Wenn der AI-Kern den Großteil der Zeit im idle ist, dann ist es nur unnötiger Ballast auf dem Die und macht den SoC-Prozessor zu komplex.
Ergänzung ()

Sebbi schrieb:
wie gesagt, solange da keine AGI gebaut wird ist alles noch im Grünen ^^ :P

Adolf-Grimme-Institut?
Adventure Game Interpreter?
Arbeitsgemeinschaft Industriebau e. V.?
Silberiodid?

:p
 
Zuletzt bearbeitet:
Krautmaster schrieb:
Intertessant finde ich bei dem von mir verlinkten Video dieses Dropout. Das killt einzelne Neuronen in dem Netzwerk und verbessert so sogar das Ergebnis. Nach dem Motto "zuviel Gehirnzellen machen dich doof".

Dropout (proposed von Srivastava, Hinton, Krizhevsky et. al. (Pioniere im Bereich machine learning) in Dropout: A simple way to prevent neural networks from overfitting) wird genutzt um co-adapting, also das gegenseitige Anpassen von Neuronen auf spezifischen input pro Trainingseinheit zu reduzieren.

Das passiert übrigens auch bei wenigen Neuronen, stützt also nicht eine These wie "zu viele Gehirnzellen machen doof". Mit steigender Anzahl von Neuronen wird nur die Wahrscheinlichkeit, dass das überhaupt passiert, größer (weil es mehr Möglichkeiten für Neuronen gibt, sich gegenseitig anzupassen).

Vereinfacht ausgedrückt unterbindet dropout das co-adapting bis zu einem gewissen Grad, da droput willkürlich einen gewissen Prozentsatz aller Neurone pro Layer für einen Trainingsschritt abschaltet. In jeder Iteration wohlbemerkt, d.h. bei t=1 werden andere Neuronen ausgeschaltet als bei t=2.
Dadurch kann sich ein einzelnes Neuron, für einen spezifischen input, nicht darauf verlassen, dass bestimmte andere Neurone auch tatsächlich feuern. Es kann sich also weniger stark auf wenige Neurone anpassen, die nur für den Trainingsdatensatz spezifische Muster in ihrer Anregung bilden. Es muss sich, verallgemeinert gesprochen, mehr auf "das Gesamtbild" konzentrieren.

Dadurch möchte man das fördern, was man unter Generalisierung verbucht: also die Anpassung von AI's an spezifische Muster im Trainingsdatensatz (overfitting) reduzieren. Geringes Overfitting ist dann natürlich gleichbedeutend mit einer besseren Generalisierung, also damit, dass die AI etwas gelernt hat, was auch außerhalb des Trainingsdatensatzes sinnvoll ist.



Krautmaster schrieb:
Problematisch wirds wenn das Neuronale Netzwerk zu groß ist und quasi einfach jedes mögliche Ergebnis anhand des Training Sets 1:1 abspeichern kann. Also sich das Ergebnis merkt - weniger die Logik es zu erkennen.

Das ist Overfitting und wird mit verschiedenen Techniken unterbunden. Unter anderem natürlich auch damit, ein neuronales Netz nicht zu überdimensionieren. Allerdings tut man das eh nicht, da die benötigte Rechenkapazität i.d.R. exponentiell zur Parameteranzahl im Netz wächst.
D.h. ein doppelt so großes Netz benötigt i.d.R. nicht doppelt so viel Zeit zum Trainieren (also Rechenoperationen pro Iteration), sondern noch deutlich mehr.

Unabhängig davon funktionieren noise, dropout, regularization layer, normalization layer usw. schon recht gut. Sprich Overfitting ist zwar immer ein Problem, aber kein so eminentes, dass es einen wesentlich beim dimensionieren von neuronalen Netzen stören würde.



Krautmaster schrieb:
nicht unbedingt. Ein gutes neuronales Netzwerk zu designen ist das eine. Wie gut sich dieses trainieren lässt das andere. Ich denke kaum dass der Programmierer des Google Translator so gut selbst übersetzen würde. Der muss aber das Netzwerk mit guten Daten füttern und es fortlaufend erweitern / optimieren.

In der Tat. Wobei du ein Netz nicht mal besonders gut designen musst oder besonders gute Daten zum Trainieren brauchst. Wenn man mal informationstheoretisch da herangeht und von unendlichen Ressourcen ausgeht.
Ein kleines Beispiel dazu: wenn die Komplexität eines Problems nicht komplett außerhalb der Domäne lösbarer Probleme für eine bestimmte Entität liegt, dann kann die Entität das Problem, gegen unendlich Zeit & Beispiele, immer lösen.

Oder einfacher sehr stark verallgemeinert: wenn die geistigen Kapazitäten eines minderintelligenten Hauptschülers nicht overall zu niedrig sind, dann braucht man nur genügend Zeit / Geduld und genügend Beispiele, um ihm ein bestimmtes Schulfach beizubringen.

Das gleiche gilt für künstliche neuronale Netze: wenn du unbegrenzt Zeit aufwendest und unbegrenzt Trainingsdaten hast (Beispiele), dann kannst du auch ein sehr schlechtes Netz trainieren, die Aufgaben adäquat zu lösen.



Die Kunst liegt darin, dass Ressourcen stark endlich sind: man muss mit wenig Trainingsdaten auskommen und das Netz muss dabei so effizient wie möglich sein.


Was bringt einem beispielsweise eine AI, die Spracherkennung hinbekommt, aber erst nachdem man ihr den kompletten, erweiterten Duden vorgelesen hat und an Rechenressourcen dafür einen kompletten Supercomputer benötigt?
 
Zurück
Oben