Forum: PC Hard- und Software Multicore-Prozessor - wer bestimmt, was auf welchem Kern läuft?


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Wir überlegen zZt. in der Firma, mal mit einer KI ("GPT4All") für 
Recherche- und Verwaltungszwecke zu experimentieren. Tests mit einem 
älteren Dell-Server waren hinsichtlich der Performance sehr ernüchternd: 
Briefe schreiben statt Dialog.

Also muss da wohl "ein wenig" Power her: z.B. ein 7000er Ryson-Prozessor 
5GHz 16-Kerner mit ausreichend RAM und SSD. Soweit sogut ...

GPT4All ist für die Nutzung ohne GPUs geeignet. Frage nun: Wer oder was 
nutzt eigentlich die 16 Kerne effizient parallel? Entscheidet das die 
Anwendung oder das OS (ich würde Linux verwenden)? Es gibt schließlich 
Prozesse , die kann man parallelisieren und andere nicht, weil 
Abhängigkeiten bestehen ...

Kann es sein, dass so ein (ja nicht ganz billiger Prozessor) vielleicht 
garnicht wirklich genutzt wird?

: Verschoben durch Moderator
von (prx) A. K. (prx)


Lesenswert?

Frank E. schrieb:
> Entscheidet das die Anwendung

Die Anwendung entscheidet, wieviele Threads sie nutzt und wie gut oder 
schlecht sie die Last darauf verteilt, parallelisiert.

Das Betriebssystem entscheidet dynamisch, auf welchem Kern welcher 
dieser Threads läuft. Aufgrund der Aufteilung in Core-Gruppen mit 
jeweiligem L3-Cache kann das bei AMDs jenseits 8 Cores eine recht 
interessante Aufgabe sein, deren Strategie man u.U. im BIOS beeinflussen 
kann.

> Kann es sein, dass so ein (ja nicht ganz billiger Prozessor) vielleicht
> garnicht wirklich genutzt wird?

Ja.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Frank E. schrieb:
> Es gibt schließlich
> Prozesse , die kann man parallelisieren und andere nicht, weil
> Abhängigkeiten bestehen ...

Nicht nur deshalb - kann auch sein, dass sie einfach nur single-Threaded 
programmiert wurde.

Es gibt ja mehrere Möglichkeiten, wie man etwas paralellisiert.

Wenn das ein Port ist, der ursprünglich auf einer GPU lief, dann sollte 
man das gut parallelisieren können, da die GPU im Prinzip nur 
hardcore-SIMD (single-instruction-multiple-data) macht.

Dafür kann man SIMD-Befehle wie AVX benutzen.

Also man kann einerseits SIMD Instruktionen benutzen und andererseits 
mehrere Threads, die SIMD Instruktionen benutzen.

Ich würde, naiverweise, davon ausgehen, dass beides benutzt wird.

> Kann es sein, dass so ein (ja nicht ganz billiger Prozessor) vielleicht
> garnicht wirklich genutzt wird?

Klar kann das sein, würde ich hier aber ausschließen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Hmm ... wo wäre denn das "bewilligte" Geld von ca. 600,- für eine 
verbesserte KI-Performance denn vermutlich besser investiert?

Bei einer Ryson-CPU oder bei einer "kleinen" NVidia RTX, neu mit 8GB und 
gebraucht mit 12GB bei ungefähr gleichem Preis?

Die Software GPT4All kann mit Beidem umgehen. Der Rechner wäre 
ausschließlich für die KI gedacht.

Übrigens schade, dass es keine Server-Mainbords für diesen Zweck zu 
einem vernünftigen Preis gibt (ca. 250,-), im Rack wäre das "Ding" gut 
untergebracht ...

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Frank E. schrieb:
> Bei einer Ryson-CPU oder bei einer "kleinen" NVidia RTX, neu mit 8GB und
> gebraucht mit 12GB bei ungefähr gleichem Preis?

Ganz klar GPU. Das SIMD, das Prozessoren haben, ist quasi nur ne 
Sparversion bis maximal 512Bit Register-Breite.

GPUs sind extra für solche Workloads optimiert.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Mal noch eine etwas seltsame Frage zur Praxis:

Wenn man die GPUs einer solchen Grafikkarte für eine KI benutzt, zeigt 
die dann eigentlich auch noch ein Bild? Oder muss man zur Einrichtung 
eine zweite Grafikkarte bzw. die Onboard-Grafik nutzen?

Das wäre in meinem Falle zwar egal, weil ich die KI sowieso nicht lokal, 
sondern über die API im Netz nutzen will und für die Einrichtung RDP 
bzw. VNC verwenden werde. Nur so interessehalber ... :-)

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Hmm, hab bisher überwiegend nur mit Servern die mit dicken GPUs 
ausgestattete gewesen sind, über SSH gearbeitet.

Aber hab auch mal mit meiner Heim-GPU unter Linux mal was ausprobiert - 
ich glaube da fror dann das Bild ein, bis die GPU mit ihrer Aufgabe 
fertig war 🤔

Wie sich das über RDP / VNC verhält ... 🤔 Keine Ahnung 🙈

von Oliver S. (phetty)


Lesenswert?

Es gibt ja Beschleunigerkarten die zwar den Grafikchip drauf haben aber 
keinen Anschluss für einen Monitor.

Wie ist das eigentlich mit den tensorflow Chips von Coral? Kann man die 
einsetzen, sind relativ günstig.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Oliver S. schrieb:
> Es gibt ja Beschleunigerkarten die zwar den Grafikchip drauf haben
> aber keinen Anschluss für einen Monitor.

Ja, in dem Zusammenhang habe ich die Nvidia "Tesla"-Reihe entdeckt, ist 
deutlich preiswerter. Ich muss aber erst herausfinden, ob GPT4All damit 
etwas anfangen kann. "CUDA" und so ... Neuland halt. ;-)

> Wie ist das eigentlich mit den tensorflow Chips von Coral? Kann man die
> einsetzen, sind relativ günstig.

Davon habe ich im Zusammenhang mit GPT4All bisher nichts gelesen.

von Hans H. (loetkolben)


Lesenswert?

Du kannst ja die Frage an die KI stellen.
Die Antwort wird 100% richtig und zufriedenstellend ausfallen :)

von Motopick (motopick)


Lesenswert?

Frank E. schrieb:
> Hmm ... wo wäre denn das "bewilligte" Geld von ca. 600,- für eine
> verbesserte KI-Performance denn vermutlich besser investiert?

Haenge mal eine "0" an das Budget und multipliziere es noch mit
einem Faktor zwischen 1 bis 5.
Dann bist du in dem Bereich wo "HPC" anfaengt.
Da kann man schon fast 600 Euro fuer eine schnelle Netzwerkanbindung
einplanen.

Mit KI-Anwendungen beschaeftige ich aber nicht.

Die 600 Eu werden vermutlich rausgeworfenes Geld sein, weil es
am Rest wie RAM, SSD, ... fehlt.

> Übrigens schade, dass es keine Server-Mainbords für diesen Zweck zu
> einem vernünftigen Preis gibt (ca. 250,-), im Rack wäre das "Ding" gut
> untergebracht ...

Gibt es fast. :)
Es gibt "kleine" Compute-Cluster z.B. fuer rechenintensive
Ansys-Produkte. So viele Server-"Desktops" will sich sicher
keiner in die Racks stellen.
Nur ist der Preis halt "unvernünftig". Bei den Preisen fuer
Software, Wartung & Lizenzen spielt das aber keine Rolle mehr.

von Rolf M. (rmagnus)


Lesenswert?

Frank E. schrieb:
> Übrigens schade, dass es keine Server-Mainbords für diesen Zweck zu
> einem vernünftigen Preis gibt (ca. 250,-), im Rack wäre das "Ding" gut
> untergebracht ...

Es gibt doch auch 19-Zoll-Gehäuse, wo normale ATX-Boards reinpassen.

Frank E. schrieb:
> Mal noch eine etwas seltsame Frage zur Praxis:
>
> Wenn man die GPUs einer solchen Grafikkarte für eine KI benutzt, zeigt
> die dann eigentlich auch noch ein Bild? Oder muss man zur Einrichtung
> eine zweite Grafikkarte bzw. die Onboard-Grafik nutzen?

Die Grafikkarte kann von mehreren Programmen gleichzeitig genutzt 
werden. Das Bild geht also grundsätzlich noch.

Mampf F. schrieb:
> Aber hab auch mal mit meiner Heim-GPU unter Linux mal was ausprobiert -
> ich glaube da fror dann das Bild ein, bis die GPU mit ihrer Aufgabe
> fertig war 🤔

Wenn die Grafikkarte voll ausgelastet wird, kann das die Performance der 
Ausgabe durchaus erheblich beeinträchtigen.

Motopick schrieb:
> Frank E. schrieb:
>> Hmm ... wo wäre denn das "bewilligte" Geld von ca. 600,- für eine
>> verbesserte KI-Performance denn vermutlich besser investiert?
>
> Haenge mal eine "0" an das Budget und multipliziere es noch mit
> einem Faktor zwischen 1 bis 5.

Wieviel man braucht, hängt doch sehr von der Anwendung aber, aber 600 € 
für nen kompletten "KI"-Rechner klingt schon nach äußert wenig.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rolf M. schrieb:
> Motopick schrieb:
>> Frank E. schrieb:
>>> Hmm ... wo wäre denn das "bewilligte" Geld von ca. 600,- für eine
>>> verbesserte KI-Performance denn vermutlich besser investiert?
>>
>> Haenge mal eine "0" an das Budget und multipliziere es noch mit
>> einem Faktor zwischen 1 bis 5.
>
> Wieviel man braucht, hängt doch sehr von der Anwendung aber, aber 600 €
> für nen kompletten "KI"-Rechner klingt schon nach äußert wenig.

Erstens habe ich die 600,- nur für die zusätzliche GPU-Karte oder eine 
aktuelle "Super"-CPU angesetzt, genaues Lesen hilft.

Zweitens habe ich weiter Oben beschrieben, dass jemand bei Youtube eine 
GPT4All-Installation auf einem MacMini M2 betreibt und damit bereits 
Antworten im Bereich von 5...10s erhält.

Drittens rühren die exorbitanten Leistungansprüche der öffentlich 
zugänglichen KIs daher, dass dort tausende Anfragen gleichzeitig 
verarbeitet und beantwortet werden, was bei einer lokalen Ausführung 
nicht so ist.

Natürlich wäre in dem Falle mehr besser, es geht aber erstmal darum, 
einige Erfahrungen im lokalen Umfeld zu sammeln ...

: Bearbeitet durch User
von Vax W. (Gast)


Lesenswert?

Frank E. schrieb:

> Zweitens habe ich weiter Oben beschrieben, dass jemand bei Youtube eine
> GPT4All-Installation auf einem MacMini M2 betreibt und damit bereits
> Antworten im Bereich von 5...10s erhält.

"Jemand auf YT" ist natuerlich die Quelle fuer Entscheidungen. O 
tempora, o mores

> Natürlich wäre in dem Falle mehr besser, es geht aber erstmal darum,
> einige Erfahrungen im lokalen Umfeld zu sammeln ...

Bevor Du das Geld in die Hand nimmst: Was erwartest Du? Was erwartest Du 
fuer Deinen Betrieb (z.B. kannst Du einen Rechnungsposten "Fette und 
Hanf" bei jeder Rechnung dazupacken?) Was erwartest Du fuer Deine Kunden 
(ausser "ich mache was mit KI!")?

Ich sehe im Moment wenig Business-Cases bei den aktuellen KI-Modellen 
(viele Sachen die heute als KI gezeichnet werden wuerde ich mehr als 
angewandt Fuzzy-Logik sehen, but who wants to mince words).

Eine Frage fuer jemanden der aktuelle Intel-Technologie einsetzt: Intel 
hatte doch die Unterscheidung Performance- gegen Efficiency-Core 
eingefuehrt. Kann der Linux-Scheduler damit klar kommen? Soweit ich 
mitbekommen hatte, hatte Linux keinen richtigen Vorteil durch die 
verschiedenen Core-Arten.

von (prx) A. K. (prx)


Lesenswert?

Vax W. schrieb:
> Intel hatte doch die Unterscheidung Performance- gegen Efficiency-Core
> eingefuehrt.

Einen Mix aus anfangs 2 und mittlerweile 3 verschiedenen Core-Typen gibt 
es in Linux schon recht lange, lange vor Intel, und zwar in Form der 
bigLITTLE Cores von ARM in Android-Geräten. Muss wohl doch vorteilhaft 
sein, sonst wäre das ja Unfug. Unklar nur, inwieweit das in die normale 
Linux-Entwicklungslinie einfliesst.

> Kann der Linux-Scheduler damit klar kommen? Soweit ich
> mitbekommen hatte, hatte Linux keinen richtigen Vorteil durch die
> verschiedenen Core-Arten.

Spätestens seit Intel die P/E-Cores brachte, ist auch in der normalen 
Linux-Entwicklung deutlich Bewegung, die auch noch nicht abgeschlossen 
ist. Aussagen können dementsprechend schnell veralten.

: Bearbeitet durch User
von Vax W. (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Vax W. schrieb:

>> Kann der Linux-Scheduler damit klar kommen? Soweit ich
>> mitbekommen hatte, hatte Linux keinen richtigen Vorteil durch die
>> verschiedenen Core-Arten.
>
> Spätestens seit Intel die P/E-Cores brachte, ist auch in der normalen
> Linux-Entwicklung deutlich Bewegung, die auch noch nicht abgeschlossen
> ist. Aussagen können dementsprechend schnell veralten.

Das war mein Stand 2022, danke fuer die Klaerung.

von G. K. (zumsel)


Lesenswert?

(prx) A. K. schrieb:
> Spätestens seit Intel die P/E-Cores brachte, ist auch in der normalen
> Linux-Entwicklung deutlich Bewegung, die auch noch nicht abgeschlossen
> ist. Aussagen können dementsprechend schnell veralten.

Das mit den verschiedenen Cores ist eher was für Client-Devices also 
Handys, Notebooks, etc.
Auf Servern macht das IMHO wenig Sinn.

von (prx) A. K. (prx)


Lesenswert?

G. K. schrieb:
> Das mit den verschiedenen Cores ist eher was für Client-Devices also
> Handys, Notebooks, etc.
> Auf Servern macht das IMHO wenig Sinn.

Zumindest ergibt es bei Compute-Servern wenig Sinn. Wobei es da 
mittlerweile neben den Arrays aus extrem heizenden P-Cores auch einen 
zweiten Trend zu sparsameren E-Cores gibt (gerne auch ARM), zumindest 
bei gut parallelisierbaren Aufgaben. Weil die bei gegebenem 
Wärme/Strom-Budget mehr Rechenleistung abliefern als die P-Cores, wenn 
man zum Ausgleich mehr Cores reinsteckt.

Bei andersgearteten Servern mit hoch variabler Leistungsanforderung kann 
das entsprechend anders aussehen. Der Begriff "Server" ist sehr 
variabel.

Allerdings gibt es einen Rattenschwanz an Parametern, die in die 
Leistungsfähigkeit einer Lösung einfliessen, wie sie hier angepeilt 
wird. Es gibt ja nicht nur Intels P/E-Cores, sondern beispielsweise auch 
AMDs 2-Level NUMA-Struktur, bei der man wählen kann (muss), ob eine 
L3-Gruppe eine NUMA Node ist, oder nur jeder Sockel eine. Mittlerweile 
bestehen auch Intels Xeons (wieder) aus mehreren gekoppelten Dies auf 
einem Sockel, also klassische 1-Level NUMA.

Konzipiert man Hardware für eine ganz bestimmte Aufgabe, kann es sich 
lohnen, auf solche Feinheiten der Architektur zu achten, wie obiges 
GPT4All, kann es sehr sinnvoll sein, sich umzusehen, welche Erfahrungen 
andere gemacht haben.

: Bearbeitet durch User
von G. K. (zumsel)


Lesenswert?

(prx) A. K. schrieb:

> Zumindest ergibt es bei Compute-Servern wenig Sinn. Wobei es da
> mittlerweile neben den Arrays aus extrem heizenden P-Cores auch einen
> zweiten Trend zu sparsameren E-Cores gibt (gerne auch ARM), zumindest
> bei gut parallelisierbaren Aufgaben.

AMD liefert so was bereits und Intel hat so was angekündigt.

von (prx) A. K. (prx)


Lesenswert?

G. K. schrieb:
> Intel hat so was angekündigt

Steckt im Grunde schon in den P/E Hybrid-Prozessoren drin, im Kleinen. 
Deren Gesamtleistung thermisch begrenzt ist, wenn die Aufgabe länger als 
einige Minuten ackert. Weil dann die Hauptlast von den E-Cores getragen 
werden muss, die P-Cores ihre Leistung nicht ausfahren können ohne 
wegzuschmelzen. Genau da ist dann natürlich ein cleveres Scheduling 
gefragt.

> AMD liefert so was bereits und Intel hat so was angekündigt.

Lösungen von Drittfirmen gibt es seit Jahren, jenseits von x86. Amazon 
hatte sich als Hoster deshalb sogar zum Entwickler eigener Prozessoren 
gemausert.

: Bearbeitet durch User
von Andreas M. (amesser)


Lesenswert?

Frank E. schrieb:
> Zweitens habe ich weiter Oben beschrieben, dass jemand bei Youtube eine
> GPT4All-Installation auf einem MacMini M2 betreibt und damit bereits
> Antworten im Bereich von 5...10s erhält.

Nein hast Du nicht. Das ist hier der Erste Beitrag der das Wort 
"youtube" überhaupt enthält.

Ein M2 CPU ist eine völlig andere Leistungsklasse für KI:

Der M2 enthält eine interne GPU die natürlich auch von der KI Software 
mitverwendet wird. Der M2 enthält einen speziellen Neural-Beschleuniger 
der ebenfalls von der KI verwendet wird. Der RAM ist Bestandteil des M2 
Chips und sehr breit angebunden. Alle Cores im M2 (CPU,GPU,Neural) 
können mit voller Bandbreite auf den selben Speicher zugreifen. Beim M2 
Pro ist der interne Speicher 3x schneller als auf einem üblichen 
Desktopsystem mit DDR5 Anbindung und gar 6x schneller als auf einem DDR4 
System angebunden. D.h. du bräuchtest bei DDR-5 ein Hexa-Channel Memory 
Interface auf dem Mainboard um überhaupt in die gleiche 
Bandbreitenregion vorzustoßen. (Bei DDR-4 Oct-Channel). Und jetzt Rate 
mal was "KI" braucht: da werden Unmengen an Daten von Links nach Rechts 
und zurück durch den Speicher von den Cores verwurstet. Der Flaschenhals 
ist hier nicht der Core Takt, sondern die Speicherbandbreite.

Die Ryzen 7000 Serie (Dual-Channel-RAM) taugt dafür absolut nicht. Der 
schafft es gar nicht die Cores so schnell mit den Daten zu versorgen wie 
die die fressen wollen. Eine GPU könnte besser funktionieren, allerdings 
werden die schnell teuer wenn der RAM groß wird, und Du brauchst viel 
RAM, alles was über PCIe muss machts wieder langsam.

Wenn es unbedingt ne CPU werden soll, mindestens Octa-Channel RAM, davon 
viel, und am besten schnelle SSDs.

Zu den "600€" sag ich nichts, dafür bekommt man ja kaum noch was 
vernünftiges für privat, wenn man mehr als Internet und Word machen 
will. Im Businessbereich, naja also mein Firmennotebook hat wohl das 
vierfache gekostet... Komische Firma bei euch, wenn man KI unbedingt auf 
eigenen Systemen evaluieren will, da wird man wohl ein bisl. mehr 
investieren müssen.

von (prx) A. K. (prx)


Lesenswert?

Andreas M. schrieb:
> wenn man KI unbedingt auf
> eigenen Systemen evaluieren will, da wird man wohl ein bisl. mehr
> investieren müssen.

Rechenleistung kann man mieten, und gegen Einwurf kleiner Münzen ad hoc 
variieren. Was besonders sinnvoll sein kann, wenn man nicht weiss, 
wieviel man wie lange benötigt. Oder weil die Sau vielleicht bald wieder 
das Dorf verlässt, verlorene Investitionen hinterlassend. Bleibt die 
Sau, kann man den Kram reinholen, weiss dann, was man benötigt.

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

Habe neugieriger weise mal nachgeschaut in den Suchmaschinen, was kommt, 
wenn man fragt: wie gut kann ein Linux Kernel parallelisieren?

Nicht wirklich viel passendes. Sucht man etwas genauer, findet man vor 
allem auf Red Hat - Seiten Hilfen zum Thema wie z.B.
https://www.redhat.com/sysadmin/tune-linux-tips
Darüberhinaus wäre vielleicht noch
https://blog.nomic.ai/posts/gpt4all-gpu-inference-with-vulkan
interessant.

HT ist ja vor allem ein Prozessorangebot und bei Computerspielen war 
lange Single- oder Dualcore Champ. Jedenfalls auf der CPU-Seite.

Vom Rechenbedarf her kann man ähnlich denken wie bei Bitcoins oder wie 
bei Wetterberechnungen: je mehr Rechenpower, desto besser. Klein Klein 
kannste knicken, aber wenn noch Altrechner irgendwo herumstehen, kann 
man die versammeln, und schauen, wie weit man mit MPI kommt.
Gibt man das in die übliche Suchmaske ein, kommt nicht viel. Immerhin 
haben schon andere ähnliches gefragt:
https://www.reddit.com/r/LocalLLaMA/comments/13zfjkl/lots_of_questions_about_gpt4all_finetuning_and/

..aber auch nicht unbedingt tiefschürfend.

Von der Parallelisierung her sollte man auch Amdahl kennen
https://de.wikipedia.org/wiki/Amdahlsches_Gesetz

und so generell hilft wohl, wenn man selber schaut, was mit Setup x oder 
y geht.

(prx) A. K. schrieb:
> Konzipiert man Hardware für eine ganz bestimmte Aufgabe, kann es sich
> lohnen, auf solche Feinheiten der Architektur zu achten, wie obiges
> GPT4All, kann es sehr sinnvoll sein, sich umzusehen, welche Erfahrungen
> andere gemacht haben.

Ganz genau ;)

von (prx) A. K. (prx)


Lesenswert?

Rbx schrieb:
> wie gut kann ein Linux Kernel parallelisieren?

Beim Kernel und einer Compute-Aufgabe ist doch eher die Frage, wie gut 
er skalieren kann, nicht wie gut er sein Geschäft parallelisiert. Also 
wieviele Cores er überhaupt unterstützt.

Parallelisierung im Kernel ist eher eine Frage, wie grob oder fein noch 
zentrale Locks drin sind. Das dürfte heute allenfalls noch manche 
I/O-Themen betreffen, aber nicht die Kerndienste.

: Bearbeitet durch User
von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Ich denke eine Menge Fragen werden hier beantwortet:
https://www.makeuseof.com/what-is-gpt4all-and-how-does-it-work/

Gerade die Erklärung was es braucht um die selber zu trainieren ist 
sicher für Dich nicht uninteressant.

Also fette GPU, fette CPU, min 32GB Ram und viel Zeit.
Die 600€ für die CPU scheinen mir eher eine vernachlässigbar Ausgabe zu 
sein.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Andreas M. schrieb:
> Ein M2 CPU ist eine völlig andere Leistungsklasse für KI:
>
> Der M2 enthält eine interne GPU die natürlich auch von der KI Software
> mitverwendet wird. Der M2 enthält einen speziellen Neural-Beschleuniger
> der ebenfalls von der KI verwendet wird. Der RAM ist Bestandteil des M2 ...

Vielen Dank für die kompetenten Ausführungen und vor Allem für die 
Erklärung dazu, warum der M2 so relativ gut geeignet ist - das erklärt 
Vieles.

MacMini M2 gibts neu ab ca. 1500,-, gebraucht für die Häfte ...

Mich fasziniert die Idee, eigene Dokumente in die Wissensbasis 
aufzunehmen und bei Anfragen darauf Bezug zu nehmen. Soll angeblich 
möglich sein, indem man sie in einem reservierten Ordner ablegt. Ob und 
wie das funktioniert weiss ich natürlich bisher nicht, sonst müsste ich 
das nicht testen

von Frank K. (fchk)


Lesenswert?

Frank E. schrieb:

> MacMini M2 gibts neu ab ca. 1500,-, gebraucht für die Häfte ...

Du wirst zur maximal möglichen Speicherausstattung greifen müssen, und 
die Macs sind nicht aufrüstbar. RAM schon gar nicht. 32GB Versionen 
starten ab 2k€.

Oder eben sowas hier

https://www.asrockrack.com/general/productdetail.asp?Model=ROMED8U-2T#Specifications

und dann alle Speichersockel füllen.

fchk

von Rolf M. (rmagnus)


Lesenswert?

Frank E. schrieb:
>> Wieviel man braucht, hängt doch sehr von der Anwendung aber, aber 600 €
>> für nen kompletten "KI"-Rechner klingt schon nach äußert wenig.
>
> Erstens habe ich die 600,- nur für die zusätzliche GPU-Karte oder eine
> aktuelle "Super"-CPU angesetzt, genaues Lesen hilft.

Ich habe es genau gelesen. Du hast geschrieben, dass dir 600 € 
"bewilligt" wurden und dass du jetzt überlegst, ob du dich eher auf eine 
schnelle CPU oder eine GPU fokussieren solltest. Meine Vermutung war 
jetzt, dass du die CPU (und letztendlich auch die GPU) nicht für sich 
alleine betreiben willst, sondern auch einen Rechner drumherum brauchst. 
Wenn du aber schon einen Rechner hast, dem nur noch die CPU fehlt, dann 
ist das was anderes.

> Zweitens habe ich weiter Oben beschrieben, dass jemand bei Youtube eine
> GPT4All-Installation auf einem MacMini M2 betreibt und damit bereits
> Antworten im Bereich von 5...10s erhält.

Sofern man nichts trainieren will.

> Drittens rühren die exorbitanten Leistungansprüche der öffentlich
> zugänglichen KIs daher, dass dort tausende Anfragen gleichzeitig
> verarbeitet und beantwortet werden, was bei einer lokalen Ausführung
> nicht so ist.

Und eben daher, dass sie auch trainiert werden wollen, was erheblich 
mehr Rechenpower benötigt als die reine Anwendung eines neuronalen 
Netzes.

von Rbx (rcx)


Lesenswert?

(prx) A. K. schrieb:
> Beim Kernel und einer Compute-Aufgabe ist doch eher die Frage, wie gut
> er skalieren kann, nicht wie gut er sein Geschäft parallelisiert. Also
> wieviele Cores er überhaupt unterstützt.

Danke für den Hinweis
Ja, es gab mal in der c't einen Artikel darüber, wie gut Windows 
parallelisieren kann. Prinzipiell wohl erstmal schlecht, aber wie jetzt 
testen? Dann hatten die wohl einen aktuellen Java-Compiler gefunden, mit 
dem man entsprechende Parallelnutzung bzw. -"Betreuung" testen konnte.
(Linux dagegen war unproblematisch zum Thema Multicore. Hatte ja auch 
was, wenn einem beim OS-Start 12 Pinguine anlächeln. Skalierung ist die 
eine Sache, trickreiche Programmierung (also auch viel Erfahrung) die 
andere.)
Recht interessant sind auch die Zeitschriftenartikel, in denen Simon 
Peyton Jones über die Parallelität im GHC beschrieben hatte. 
Interessanter Name übrigens, wenn man an PyCuda denkt.
Im Studium hatten wir zum Stichwort KI Lisp als Programmiersprache. Von 
der Parallel-Performance am beeinduckensten fand ich bisher aber LAME.

von Εrnst B. (ernst)


Lesenswert?

Frank E. schrieb:
> Mich fasziniert die Idee, eigene Dokumente in die Wissensbasis
> aufzunehmen und bei Anfragen darauf Bezug zu nehmen. Soll angeblich
> möglich sein, indem man sie in einem reservierten Ordner ablegt. Ob und
> wie das funktioniert weiss ich natürlich bisher nicht, sonst müsste ich
> das nicht testen

Bevor du frustriert wirst: die eigenen Dokumente werden nicht "gelernt" 
im Sinne von: Gewichte im NN dadurch geändert, sondern landen (als 
"embedding") im Kontext, aus dem das Netz Antworten generiert.

GPT4All empfiehlt einen maximalen Kontext von 750 Tokens, wenn es rein 
auf der CPU läuft. Da muss das Dokument reinpassen, zu dem du Fragen 
stellen willst, und die Anfrage selber, und ggfs. der Gesprächsverlauf, 
wenn du "chatten" willst.

Du kannst natürlich auch das Netz mit deinen Daten nachtrainieren, das 
braucht aber wesentlich mehr Hardware (GPU mit >=32 GB Ram), Rechenzeit 
und Strom.

von Rolf M. (rmagnus)


Lesenswert?

Rbx schrieb:
> (prx) A. K. schrieb:
>> Beim Kernel und einer Compute-Aufgabe ist doch eher die Frage, wie gut
>> er skalieren kann, nicht wie gut er sein Geschäft parallelisiert. Also
>> wieviele Cores er überhaupt unterstützt.
>
> Danke für den Hinweis
> Ja, es gab mal in der c't einen Artikel darüber, wie gut Windows
> parallelisieren kann. Prinzipiell wohl erstmal schlecht, aber wie jetzt
> testen?

Ich habe da keine so guten Erfahrungen damit gemacht. Es ging eigentlich 
nur um zwei Prozesse, die jeweils einen Kern voll auslasten sollten, 
aber schon das hat es nicht richtig hinbekommen.
Das System hat nämlich beide immer auf einen gemeinsamen CPU-Kern 
gesteckt, und sie liefen dann jeweils nur halb so schnell wie sie 
könnten, während die anderen 11 Kerne Däumchen gedreht haben. Im 
Taskmanager kann man den Prozessen die CPU-Kerne zwar eigentlich auch 
manuell zuordnen, aber das hat schlichtweg gar nicht funktioniert. In 
diversen Foren, wo Leute von dem gleichen Problem berichtet hatten, kam 
immer die Antwort, dass das ja eh keiner braucht, weil Windows das doch 
selber viel besser kann…
Es ging dann aber, als ich ein eigenes Programm geschrieben habe, das 
die beiden Prozesse selber startet und ihnen dann fest die CPU-Kerne 
zuweist.

von (prx) A. K. (prx)


Lesenswert?

Rolf M. schrieb:
> Das System hat nämlich beide immer auf einen gemeinsamen CPU-Kern
> gesteckt

Solche Feinheiten gehören zu den Dingen, die sich bei Betriebssystemen 
auch mal ändern können. Weshalb manche Systeme mit neueren Versionen 
auch schneller werden können, indem der Kernel sich der Entwicklung der 
Prozessoren anpasst. Was keine triviale Aufgabe ist, weil 
Scheduler-Entscheidungen am besten funktionieren, wenn man die Zukunft 
perfekt vorhersagen kann.

Es gibt durchaus Szenarien, in denen das von dir beobachtete Verhalten 
Sinn ergibt. Wenn deine Threads extrem eng zusammenarbeiten, sehr häufig 
auf gemeinsamen Speicher zugreifen, kann es von Vorteil sein, wenn sie 
gemeinsame Caches nutzen. Und gerade bei AMDs Zen ist deshalb nicht 
unwichtig, ob Threads in der gleichen Core-Gruppe landen sollten.

Ein anderes von Windows über lange Zeit getriebenes Spiel war, bei 
Auslastung nur weniger Threads diese mit der Zeit über die verschiedenen 
Cores wandern zu lassen. Zum thermischen Ausgleich des Siliziums kann 
das sinnvoll sein. Das war in den letzten Jahren aber bei den Ryzen 
unangenehm aufgefallen, weil die Modelle mit zwei und mehr 
Prozessormodulen langsame und schnelle Module verbaut haben (*). Da ist 
diese Strategie ein Schuss ins Knie, denn der Kernel sollte statt dessen 
ihm vom System vorgegebene Prioritäten einhalten.

*: Wen hier Verarsche vermutet, liegt falsch. Wenn alle Cores unter Last 
sind, liegt die Taktfrequenz thermisch bedingt ohnehin unter dem 
Spitzenwert, weshalb man nicht mehr als ein Prozessormodul benötigt, das 
diesen Spitzenwert auch wirklich erreichen kann.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Rolf M. schrieb:
> Es ging dann aber, als ich ein eigenes Programm geschrieben habe, das
> die beiden Prozesse selber startet und ihnen dann fest die CPU-Kerne
> zuweist.

Was dann bei der Migration vom Entwicklungssystem auf ein anders 
arbeitendes System gegenüber Entscheidungen des Betriebssystems auch von 
Nachteil sein kann. Yep, dieses Thema ist längst hoch komplex geworden.

Früher hatte man gerade einmal die Frage am Hals, wo bei den heterogen 
aufgebauten NUMA-Systemen der Speicher in Relation zum ihn verwendeten 
Prozess liegen sollte. Und das betraf meist nur Systeme mit mehreren 
CPU-Sockeln. Inwieweit es sinnvoll sein kann, da irgendwann im vollen 
Galopp umzuräumen (siehe Linux numad). Heute hat man das schon in 
besseren Client-Prozessoren am Hals, mit höchst unterschiedlichen 
Latenzen. Die Betriebssysteme sind sicherlich noch nicht optimal, das 
Thema lebt.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.