Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / nn.bin für Stockfish NNUE
1 2 Previous Next  
- - By Eduard Nemeth Date 2020-07-14 10:47
Kann jemand erklären wie dieses Netz für SF funktioniert, und wie wird es trainiert? Kann man es auch selber trainieren?

(Habe soeben SF vom 09.07.20 installiert. Das Netz hat eine Größe von 20 MB)
Parent - - By Lothar Jung Date 2020-07-14 11:00 Edited 2020-07-14 11:08 Upvotes 1
Parent - - By Eduard Nemeth Date 2020-07-14 11:13
Hallo Lothar, ich war eine Woche lang weg und habe einiges verpasst. Danke für die Links!

Es würde mich trotzdem interessieren wie dieses Netz trainiert wird, bzw. was genau trainiert wird? Wieviel Aufwand wird benötigt? Wo kann man trainierte Netze herunterladen?
Das von Kranium habe ich bereits, ich gehe aber davon aus dass weiter verbessert wird.
Parent - - By Lothar Jung Date 2020-07-14 11:16 Edited 2020-07-14 11:22 Upvotes 1
Hier ist es beschrieben:

https://www.qhapaq.org/shogi/shogiwiki/stockfish-nnue/

Hier sind die Sourcen:

https://github.com/nodchip/Stockfish/releases/tag/stockfish-nnue-2020-06-09

SF-nnue wäre m.E. für Chimera ivm Lc0 interessant.

Lothar
Parent - - By Thomas Lagershausen Date 2020-07-14 12:25
Fein, fein.

Ist jemand noch so nett und postet den Link zur stärksten eval.bin !

Das müßte doch jetzt Stock-Finn-0.2 sein, oder gehe ich da fehl?

Gruss
Parent - - By Lothar Jung Date 2020-07-14 12:32 Upvotes 1
Parent - - By Eduard Nemeth Date 2020-07-14 13:16
ich habe dieses nn.bin heruntergeladen, schaut nicht schlecht aus:

https://cdn.discordapp.com/attachments/724700045525647420/726230632199618561/Gekkehenker2020-06-26.7z

Gibt es schon Besseres?
Parent - - By Andreas Strangmüller Date 2020-07-14 13:28 Upvotes 1
Parent - - By Eduard Nemeth Date 2020-07-14 13:48
Danke Andreas!

Ich habe mit der Engine leider Probleme unter Fritz. Die Engine lässt sich zwar installieren aber beim Laden kommt eine Fehlermeldung. Woran kann das liegen? Im Talkchess Forum sah ich gestern dann in einem Thread dass ich nicht der einzige User bin bei dem diese FS NN Engine unter Fritz Probleme macht. Norman Schmidt (Kranium) hat dann einen Download Link gepostet mit einer Engine die unter Fritz läuft. Leider kann ich den Thread nicht mehr finden, aber zum Glück hatte ich mir die Datei über das Handy gestern heruntergeladen - und die läuft tatsächlich auch unter Fritz!

Ich habe sie hier hochgeladen für alle die ebenfalls Probleme unter Fritz haben:
https://filehorst.de/d/dIspDjgu

Das Netz (nn.bin) vom 28.06.20 ist mit dabei.

Was ist denn der Unterschied zwischen den Versionen, und dass nur diese hier bei mir unter Fritz läuft?
Parent - - By Heinz Hagenstein Date 2020-07-14 14:03
Ich habe auch das Problem,Installieren klappt,aber dann Lade Fehler.
Parent - By Eduard Nemeth Date 2020-07-14 14:18
Hallo Heinz,
die Engine die ich auf Filehorst.de hochgeladen habe, geht auch unter Fritz.

Hier ist eine neuere Version die ebenfalls geht (ich nehme die sse3 Version)

https://filehorst.de/d/dHrFikCn

Das neuste NN Netz von Andreas ist besser als das vom 28.06.20 das konnte ich schnell feststellen. Danke nochmals für den Link, Andreas.
Parent - By Andreas Strangmüller Date 2020-07-14 14:12
Das die Engine unter Fritz/Chessbase nicht funktioniert liegt am internen UCI Namen. Ist dieser zu lange, kommt eine Fehlermeldung.
Kranium bzw. jemand im Discord Channel hat lediglich diesen langen Namen gekürzt.
Parent - - By Thomas Lagershausen Date 2020-07-14 13:39
Ich hab sowas von keine Ahnung !!

Aber ich habe StockFiNN 0.1 gefunden.

https://www.patreon.com/posts/stockfinn-0-1-38717611

Gib mal Bescheid ob das Ding was taugt.
Parent - - By Eduard Nemeth Date 2020-07-14 15:09 Upvotes 1
Und ob es taugt! Mit dem neusten Netz (und der neusten Engine) konnte ein aktueller Brainfish im bestem Stil von Lc0 in der ersten Weisspartie besiegt werden. Ich bin im Buch bis Zug 17 (mein Gegner war sogar länger im Buch). Das Buch habe ich für Lc0 optimiert.

PGN:

Event:
Ort:
Datum:

Weiss:
Schwarz:

Ergebnis
Board


Ab etwa Zug 30, beginnen sich die Bewertungen der beiden Engines stark zu unterscheiden. Stockfish NN sieht sich im Vorteil, und kommt mit solchen Stellungen besser zurecht.

Diagramm bei Zug 16:



Diese Stellung ist wie gemacht für Lc0! Aber Stockfish NN macht nun auch viel daraus. Grosse Klasse! 

(Stockfish NN kommt bei mir nur auf etwa 8000 kn/s, Brainfish käme auf etwa 15000)
Parent - - By Thomas Lagershausen Date 2020-07-14 16:28
Hat die Partie nun das Netz von StockFINN 0.1 gespielt oder wars Gekkehenker 12.07.20 ?
Parent - - By Eduard Nemeth Date 2020-07-14 16:38
Gekkehenker 12.07.20!

Nach 3 Blitzpartien (eine gewonnen und zwei Remis) folgten 2 Partien 16 Min. Die erste endete Remis, die zweite konnte Stockfish NNUE gegen Lc0 klar gewinnen.

Stellung nach dem letzten Buchzug (8):



Eine Stellung die Lc0 mit beiden Farben gut liegt. Trotzdem gewann  Stockfish NNUE.

PGN:

[Event "Wertungspartie, 16 min"]
[Site "Maschinenraum"]
[Date "2020.07.14"]
[Round "?"]
[White "Stockfish NNUE half"]
[Black "Lc0 v0.26.0"]
[Result "1-0"]
[ECO "E18"]
[WhiteElo "2446"]
[BlackElo "2480"]
[Annotator "0.22;0.21"]
[PlyCount "113"]
[EventDate "2020.07.14"]
[SourceTitle "playchess.com"]
[TimeControl "960"]

{Lc0 v0.26.0 (2 cores): 17.0 plies; 155kN/s Intel(R) Core(TM) i7-3930K CPU @ 3.
20GHz 3872MHz, (6 cores, 12 threads), Chimera.ctg, 4096 MB} 1. c4 {B 0} Nf6 {
B 0} 2. d4 {B 0} e6 {B 0} 3. Nf3 {B 0} b6 {B 0} 4. g3 {B 0} Bb7 {B 0} 5. Bg2 {
B 0} Be7 {B 0} 6. O-O {B 0} O-O {0.21/12 9} 7. Nc3 {B 0 (Te1)} Ne4 {B 0} 8. Bd2
{B 0} d6 {B 0} 9. d5 {0.22/31 33} Nxd2 {B 0} 10. Qxd2 {0.22/35 85} e5 {B 0} 11.
e4 {0.22/33 11} Bc8 {B 0 (Sd7)} 12. Ne1 {0.56/28 14} a5 {B 0 (Sd7)} 13. f4 {
0.54/29 16} Nd7 {B 0} 14. f5 {0.53/31 45} g6 {B 0 (Lg5)} 15. Qe2 {0.50/32 26}
Nf6 {B 0 (h5)} 16. Nc2 {0.41/29 25} h5 {0.18/12 23} 17. Ne3 {0.26/31 16} Kg7 {
0.17/15 4 (h4)} 18. h4 {0.35/30 11} Rg8 {0.18/14 24} 19. Rf2 {0.17/34 19} Bd7 {
0.19/16 42 (Kh8)} 20. Kh2 {0.31/34 46 (Taf1)} Kh8 {0.20/14 31} 21. Raf1 {
0.22/35 15} Kh7 {0.20/15 12 (Tc8)} 22. Qd3 {0.21/35 30 (a3)} g5 {0.19/14 23
(Kh8)} 23. hxg5 {0.50/31 8} Rxg5 {0.21/15 2} 24. Bf3 {0.49/34 13} Qg8 {0.24/15
10} 25. Rg2 {0.59/36 10} Qg7 {0.25/15 24} 26. Rh1 {0.60/35 0} Rh8 {0.22/16 21}
27. Ne2 {0.58/35 6} Rb8 {0.22/16 30 (h4)} 28. Kg1 {0.84/30 12 (Cg1)} Kg8 {
0.44/16 43 (Th8)} 29. Rgh2 {1.05/28 10 (Th3)} b5 {0.51/17 26} 30. Bxh5 {
1.28/33 1} bxc4 {0.58/18 15} 31. Qc2 {1.62/32 0} c3 {0.68/17 27} 32. b3 {
1.69/34 0} Nxh5 {0.71/17 45 (Txh5)} 33. Rxh5 {1.68/36 16} Rxh5 {0.72/16 0} 34.
Rxh5 {2.01/32 10} a4 {0.68/17 17} 35. Qxc3 {1.91/34 17} axb3 {0.66/18 10} 36.
axb3 {1.99/32 5} Bg5 {0.68/15 10 (Tb7)} 37. Ng4 {1.94/33 19} Bd8 {0.77/15 13
(Tc8)} 38. Nh6+ {3.51/28 11 (Ch2)} Kf8 {1.53/16 37} 39. g4 {4.15/34 0} Ke8 {
1.65/17 30 (Lb5)} 40. Qh3 {5.27/30 7 (Rg2)} Bf6 {3.33/14 24} 41. Kf2 {6.12/34 0
} Rb4 {4.15/14 54 (Lb5)} 42. g5 {8.46/28 10} Bxg5 {4.58/15 3} 43. Nxf7 {
9.24/30 13} Qxf7 {5.49/15 36 (Txb3)} 44. Rxg5 {12.30/29 10 (Th8+)} Kd8 {
6.15/12 13} 45. Qh4 {12.88/29 1} Kc8 {8.32/12 13} 46. Qh8+ {13.12/27 1} Kb7 {
10.58/12 22} 47. Rg8 {16.65/26 4} Be8 {12.10/10 16 (Kb6)} 48. Rxe8 {#11/76 9}
Kb6 {12.61/10 3 (Dxe8)} 49. Ra8 {#10/72 10 (Tf8)} c6 {#117/6 25 (Kc5)} 50. Qd8+
{#8/87 10} Qc7 {#116/2 8} 51. Rb8+ {#7/126 0} Kc5 {#115/2 10 (Ka6)} 52. Qxc7 {
#6/239 9} Rxb8 {#114/2 10} 53. Qxb8 {#5/245 0} cxd5 {#113/1 0} 54. exd5 {
#4/245 0} Kxd5 {#112/2 13} 55. Qc8 {#3/245 0 (Db6)} e4 {#2/2 11 (Ke4)} 56. Qc4+
{#2/245 1} Ke5 {#1/1 0} 57. Qe6# {#1/245 0 (Lag: Av=0.34s, max=0.6s)} 1-0
Parent - By Lothar Jung Date 2020-07-14 16:53
Gebe mal in der Suche von Discord „NNUE„ ein, da kommen doch einige Hinweise.
Interessanter Ansatz. Gerade für schwächere Hardware?!

Lothar
Parent - - By Thomas Plaschke Date 2020-07-14 15:12
Ich habe versucht, Netze mit den beiden NNUE-Versionen (FireFather und Stockfish-NNUE) herzustellen. Das GUI ist mir dabei leider auch in Version 1.4 keine Hilfe (ich bin mir nicht mal sicher, ob sie die Parameter korrekt übergibt). Ich benutze daher eine Batch-Datei - da weiß ich, was die Programme übergeben bekommen. Aber die erzeugten Netz-Dateien sind immer gleich groß (21.022.697 Bytes lang - aber nicht identisch). Egal mit welchen Parametern sie erzeugt wurden. Die Trainings- und Validationsdateien unterscheiden sich in der Größe dagegen (erwartungsgemäß) sehr. Auf einen Test habe ich deswegen vorerst verzichtet.
Hat jemand aus dem Forum Erfahrung mit der Erstellung eigener Netze?

Viele Grüße
Th. Plaschke
Parent - - By Jörg Oster Date 2020-07-14 15:38
Die Größe des Netzes, also der .bin Datei, wird durch die Architektur vorgegeben und ändert sich nicht durch das Lernen.

Ich bin auch gerade dabei, mich mit dem ganzen Vorgang vertraut zu machen,
da ich einige Ideen habe, die ich ausprobieren möchte ...
Parent - - By Reinhold Stibi Date 2020-07-14 18:12
Stockfish NNUE spielt sehr schwach. Ist ja erst in der Entwicklung.

Habe gerade im heutigen Blitzturnier gegen diese Engine nach einem groben taktischen Fehler gewonnen.

Im Stellungstest fürchterlich. Wird sicher noch besser werden aber wahrscheinlich erheblich schlechter als Lc0
und der normale Stockfish.
Parent - - By Eduard Nemeth Date 2020-07-14 20:15 Edited 2020-07-14 20:18
So wie ich gerade gesehen habe, hast Du nicht gegen Stockfish NNUE verloren sondern gegen Hypnos NN sl. Ich teste gerade NNEU vom 12.07.20 und ein Netz ebenfalls vom 12.07. Ja, das vorherige Netz vom 28.06 ist schwächer, aber dieses ziemlich neue NN spielt bei mir sehr stark (noch keine Partie verloren).

Stellungstests sind mir nicht so wichtig, eine Stellung hätte ich trotzdem die vom aktuellen Brainfish nicht im Ansatz gelöst wird:



Gesucht wird Nxh6+!

Analysis by Stockfish NNUE halfkp-256 x64 (Gekkehenker 12.07.20):

18.cxd4 Sg6 19.Kb1 Dc8 20.Th5 Sc6 21.Tdh1 Kf8 22.g3 Sce7 23.T1h3 e5 24.Sf2 exf4 25.gxf4 Sf5 26.Th8+ Sxh8 27.Txh8+ Ke7
  -+ (-2.73)  Tiefe: 19/36   00:00:03  20719kN, tb=11
18.Sh6+ gxh6 19.Txh6 Sbd7 20.Tdh1 f5 21.Dxd4 e5 22.Dd5+ Kg7 23.Th8 Se6 24.T1h7+ Kg6 25.Th6+ Kg7 26.Txe8 Dxe8
  = (0.11)  Tiefe: 20/36   00:00:04  24162kN, tb=11
(--)
18.Sh6+ gxh6 19.Txh6 Sg6 20.Tdh1 Kf8 21.Dxg6 Ke7 22.Th7 d5 23.Txf7+ Kd6 24.Dg7 Sc6 25.cxd5 Tg8 26.Dh7 Th8 27.Dxh8 Dxh8 28.Txh8 Txh8 29.dxc6 Kxc6 30.g6 Th1+ 31.Kc2 Th2 32.g7 Txg2+ 33.Kd3 dxc3 34.Kxc3 a6 35.Kd4 Kd6 36.Ta7 Tg4 37.Ke4 a5 38.a4 Tg2 39.Tf7
  +- (2.00 ++)  Tiefe: 26/49   00:00:07  50402kN, tb=1192
Parent - - By Reinhold Stibi Date 2020-07-15 08:36
Lieber Eduard, lies doch bitte richtig. Habe doch eindeutig mitgeteilt dass ich gegen diese schwache Stockfish NNUE
gewonnen habe, weil diese einen groben taktischen Fehler gemacht hat.

Diese Engine ist noch vollkommen unausgereift und spielt taktisch sehr schlecht. Mache doch Mal den ERET Test
und Du wirst ganz schwache Ergebnisse bekommen.

Diese Engine ist ja erst am Anfang der Entwicklung, da kann man nicht mehr erwarten.
Parent - By Reinhold Stibi Date 2020-07-15 09:42
Eduard, Sh6 !! ist ein super Zug.

Bei mir habe ich Stockfish NNUE halfkp  384X64 installiert.  Die spielt  a3 ?

Werde versuchen die Gekkehenker Version zu installieren.
Parent - - By Thomas Plaschke Date 2020-07-14 19:35
Die Größe fand ich nur bemerkenswert, weil Trainings- und Validationsdateien verschiedener Tiefen und/oder "loops" auch unterschiedliche Größen haben. Nach dem Lernvorgang waren die Dateien aber immer 20.530 kB groß. Letzteres verstehe ich nicht.

Das "Lernprogramm" wurde bspw. mit diesen Parametern aufgerufen:
learn targetdir training loop 100 batchsize 50000 eta 1.0 lambda 0.5 eval_limit 32000 nn_batch_size 1000 newbob_decay 0.5 eval_save_interval 500000 loss_output_interval 50000 mirror_percentage 50 validation_set_file_name validation\data.bin (entspricht dem Beispielaufruf aus der Dokumentation). Parameter für Trainings- und Validationsdateien waren für loop 500000 bzw. 50000 bei depth 7. Letztere Dateien sind ca. 19 MB und 2 MB groß.

Wenn ich z.B depth auf 2 und loop auf 10000 und 1000 setzen würde wären sie deutlich kleiner und die Netzdatei aber wieder 20.530 kB groß. Das irritiert mich. Ich würde erwarten, dass die Netzgröße vor allem von der Tiefe abhängt. Deswegen vermute ich einen Fehler in meinen Parametern. Aber egal, was ich - auch völlig planlos - mache, die Größe der .bin-Netzdatei bleibt gleich (vom Inhalt her unterscheiden sie sich aber).

Ratlos mit vielen Grüße
Th. Plaschke
Parent - - By Jörg Oster Date 2020-07-14 21:48
Thomas Plaschke schrieb:

Die Größe fand ich nur bemerkenswert, weil Trainings- und Validationsdateien verschiedener Tiefen und/oder "loops" auch unterschiedliche Größen haben. Nach dem Lernvorgang waren die Dateien aber immer 20.530 kB groß. Letzteres verstehe ich nicht.

Das "Lernprogramm" wurde bspw. mit diesen Parametern aufgerufen:
<code>learn targetdir training loop 100 batchsize 50000 eta 1.0 lambda 0.5 eval_limit 32000 nn_batch_size 1000 newbob_decay 0.5 eval_save_interval 500000 loss_output_interval 50000 mirror_percentage 50 validation_set_file_name validation\data.bin</code> (entspricht dem Beispielaufruf aus der Dokumentation). Parameter für Trainings- und Validationsdateien waren für loop 500000 bzw. 50000 bei depth 7. Letztere Dateien sind ca. 19 MB und 2 MB groß.

Wenn ich z.B depth auf 2 und loop auf 10000 und 1000 setzen würde wären sie deutlich kleiner und die Netzdatei aber wieder 20.530 kB groß. Das irritiert mich. Ich würde erwarten, dass die Netzgröße vor allem von der Tiefe abhängt. Deswegen vermute ich einen Fehler in meinen Parametern. Aber egal, was ich - auch völlig planlos - mache, die Größe der .bin-Netzdatei bleibt gleich (vom Inhalt her unterscheiden sie sich aber).

Ratlos mit vielen Grüße
Th. Plaschke


Weil beim Lernen nicht die Größe des Netzes verändert wird, sondern nur die darin enthaltenen Zahlen, 'Wichtungen' genannt.
Die Netzgröße wird wie gesagt alleine vom Aufbau (Architektur) des Netzes bestimmt.
Parent - - By Reinhold Stibi Date 2020-07-15 10:18
Eduard, kannst Du mir erklären wie man Stockfish NNUE  halfkp-256x64  Gekkehenker vom 12.07.20
installiert. Habe eine bin Datei - was kommt noch dazu ?  soll unter Fritz 16 GUI laufen.

Wäre schön, wenn Du mir weiterhelfen könntest. Diese Version scheint doch wesentlich besser zu sein
als das was ich installiert habe.

Danke im Voraus.
Parent - - By Eduard Nemeth Date 2020-07-15 11:39 Edited 2020-07-15 11:45
Hallo Reinhold,
Du hast gegen etwas gewonnen, aber gegen was? War es die neuste Version und das neuste Netz? Wie schnell war die Engine? Weisst du alles nicht. Ich habe bisher keine Partie verloren (trotz kleinem Lc0-Buch), die Engine spielt grossartig. Ich verwende die Version vom 12.07. und auch das Netz vom 12.7. Die Download Links (Engine und Netz) stehen in diesem Thread.

Ich kenne mich selber nicht gut aus, aber wenn du die 384er Version installierst, dann benötigst du wohl auch das 384er Netz.

Ich habe die 256er Version installiert und das Netz von Gekkehenker, das 20 MB gross ist, ist ein 256er Netz.

Die Engine habe ich in einen eigenen Ordner kopiert und bei mir läuft die Version SF-nnue-256-sse3.exe am besten. Das heruntergeladene Netz befindet sich in einem eigenen Ordner mit dem Namen "eval". Dieser Ordner samt Inhalt, wird in den "Ordner der Engine" kopiert. Das ist alles. Beim Installieren der Engine siehst du in den Engine-Optionen unter "EvalFile" dass die Engine nach diesem Ordner & Netz sucht. "EvalFile: eval\nn.bin". Das 256er Netz ist 20 MB gross, und mit geladenem Netz erzielt Stockfish nnue nur etwa die Hälfte an kn/s.
Parent - - By Eduard Nemeth Date 2020-07-15 13:38
Das Ziel von NNUE ist wohl, Lc0 zu bezwingen. Auf dem Server habe ich bislang 5x gegen Lc0 gespielt, 2x wurde gewonnen und 3x Remis gespielt. Dabei spiele ich mit einem Buch das für Lc0 optimiert ist.
Parent - By Eduard Nemeth Date 2020-07-15 14:04 Edited 2020-07-15 14:18
Es gibt eine neue Engine Version (ist kein Netz) von heute:
https://github.com/nodchip/Stockfish/releases

Edit: Diese Version funzt unter Fritz leider nicht (!
Parent - - By Reinhold Stibi Date 2020-07-15 14:06
Eduard, vielen herzlichen Dank für Deine Hilfe.

Habe erfolgreich Stockfish NNUE 256x64 sse3 installiert. 

Diese Engine kann ein großer Fortschritt im Computerschach bedeuten.

Super  Ergebnisse bei meinen Stellungstests.

Die Stellung Sh6 wird bei meinem Computer mit 24 Threads sogar in 2 Sek. gespielt.

Werde wahrscheinlich heute im Blitzturnier mit dieser Engine antreten.

Bin sehr gespannt, hoch interessant.

Jetzt kann ich da vielleicht noch Punkten. Wenn die Riesen dann mit ihren 64 Threads und darüber
kommen, nicht mehr.

Zu klären dürfte sein, welche Rolle die CPU und die GPU im Verhältnis zu einander spielen.
Parent - - By Eduard Nemeth Date 2020-07-15 14:26
Hallo Reinhold, da nicht jede Version unter Fritz läuft (leider), habe ich die Version vom 12.07.20 samt Netz 256x vom 12.07.20 hier hochgeladen:

https://filehorst.de/d/denglkya

Bei mir läuft die "Sf-nnue-256-sse3.exe" am besten. Du brauchst die Datei nur zu entpacken und die Engine zu installieren. Dan 256-Netz (nn.bin) samt eval-Verzeichnis, befindet sich schon im Engine-Ordner.
Parent - - By Eduard Nemeth Date 2020-07-15 14:36
Hier mein zweiter Sieg gegen Lc0 (vermutlich aber gegen Chimera). NNUE war nur 3 Züge lang im Buch (weil es mein kleines Lc0-Buch ist). Ich bin von dieser Entwicklung begeistert. Wenn ich einen etwas schnelleren PC hätte, wäre mehr möglich!

[Event "Wertungspartie, 5 min"]
[Site "Maschinenraum"]
[Date "2020.07.15"]
[Round "?"]
[White "Stockfish NNUE half"]
[Black "Eigen_v1"]
[Result "1-0"]
[ECO "A07"]
[WhiteElo "2579"]
[BlackElo "2528"]
[Annotator "0.37;0.17"]
[PlyCount "123"]
[EventDate "2020.07.15"]
[SourceTitle "playchess.com"]
[TimeControl "300"]

{Eigen_v1 (single): 16.3 plies; 3.749kN/s AMD Ryzen Threadripper 1950X 16-Core
Processor 3400MHz, (16 cores, 32 threads), Chimera.ctg, 4096 MB} 1. Nf3 {B 0}
d5 {B 0} 2. g3 {B 0} Bg4 {B 0} 3. Bg2 {0.37/23 7} c6 {B 0 (e6)} 4. O-O {
0.25/25 13} Nf6 {0.17/9 5 (Sd7)} 5. h3 {0.32/27 6 (c4)} Bh5 {0.15/11 4} 6. c4 {
0.28/29 3} e6 {0.15/12 3} 7. d4 {0.39/25 2 (d3)} Nbd7 {0.16/12 10 (Le7)} 8.
cxd5 {0.24/24 4} exd5 {0.19/15 3 (cxd5)} 9. Nh4 {0.33/25 9 (Se5)} Bg6 {0.26/13
17} 10. Nc3 {0.23/27 6 (Sxg6)} Be7 {0.23/11 5} 11. Nxg6 {0.10/26 4} hxg6 {
0.25/10 1} 12. a3 {0.08/25 7 (Dc2)} O-O {0.23/9 10} 13. b4 {0.04/27 6 (Dc2)}
Nb6 {0.18/9 13 (a6)} 14. Qb3 {0.22/28 16} a6 {0.19/11 9 (Dd7)} 15. a4 {0.15/27
7 (Td1)} Re8 {0.19/11 8 (Sc4)} 16. Rb1 {0.06/32 21 (Td1)} Qd7 {0.17/10 4} 17.
a5 {0.06/28 4 (Td1)} Nc8 {0.03/12 5} 18. Na4 {0.11/28 0 (e4)} Qc7 {-0.02/10 6
(Ld6)} 19. Bf3 {0.29/24 2 (Tb2)} Bd6 {0.01/11 8 (Sd6)} 20. Qd3 {0.27/28 10} Na7
{0.08/13 0 (Se7)} 21. Kg2 {0.27/25 4} Nb5 {0.18/14 12} 22. h4 {0.24/27 2} Ne4 {
0.21/14 1 (Te6)} 23. Nc5 {0.65/25 8 (Th1)} Bxc5 {0.09/12 9} 24. dxc5 {0.52/30 0
} Qe5 {0.19/12 16} 25. Bb2 {0.36/32 0} Qf5 {0.20/13 0 (De6)} 26. Rbd1 {0.37/28
3} Rad8 {0.24/12 4 (De6)} 27. e3 {0.83/24 3} Re7 {0.31/12 12 (De6)} 28. Rh1 {
0.64/26 4 (Le2)} Rde8 {0.36/13 0 (Kh7)} 29. Rh2 {0.89/27 5} Kh7 {0.45/16 0} 30.
g4 {0.84/29 5} Qe6 {0.63/14 1} 31. Be2 {0.69/27 4} Rh8 {0.87/19 6} 32. Rhh1 {
1.04/29 4 (Tdh1)} f5 {1.14/14 10} 33. g5 {1.04/31 0} Rf8 {1.11/15 4 (f4)} 34.
f4 {1.36/26 8} Kg8 {1.16/15 1} 35. h5 {1.29/28 4} gxh5 {1.18/15 3 (Kf7)} 36.
Rxh5 {1.65/25 2} Kf7 {1.18/15 0} 37. Qc2 {2.13/28 8} Ke8 {1.27/14 14 (Sc7)} 38.
Bxb5 {2.69/27 8 (Tdh1)} axb5 {1.14/11 4} 39. Bd4 {2.86/26 0} Qg6 {2.11/23 3}
40. Rh4 {2.83/26 0 (Tdh1)} Nf6 {2.05/25 9 (Kd7)} 41. Ra1 {3.17/26 3 (Tdh1)} Nd7
{2.02/7 2} 42. a6 {3.55/27 1} bxa6 {4.09/28 3} 43. Rxa6 {3.76/27 0} Kf7 {
4.39/28 2} 44. Qd1 {4.47/29 5} Rc8 {4.33/27 0 (Tg8)} 45. Kf2 {4.80/27 2} Nf8 {
5.65/28 1 (Tce8)} 46. Rh8 {5.32/28 4} Qe6 {6.45/28 5 (Tce8)} 47. Qa1 {5.97/25 2
} Rb8 {6.22/29 4 (Tce8)} 48. Qh1 {6.48/27 5} Rbe8 {6.46/28 2} 49. Qh5+ {
6.73/27 4 (Dh3)} Qg6 {5.54/6 5 (Sg6)} 50. Qxg6+ {7.63/28 6 (Dh3)} Kxg6 {
3.74/1 0 (Sxg6)} 51. Rxc6+ {8.00/24 2} Ne6 {7.22/25 3} 52. Rxe8 {8.17/26 1}
Rxe8 {8.11/28 5} 53. Rd6 {8.62/26 5 (Kf3)} Kf7 {6.38/6 3} 54. Rd7+ {9.05/26 5
(Kf3)} Re7 {4.80/5 1} 55. Rxd5 {9.19/23 1} Ke8 {9.33/22 0 (Kg6)} 56. Rxf5 {
9.28/24 2} Nd8 {10.31/22 1 (Sc7)} 57. Re5 {10.83/25 1 (Td5)} Rxe5 {4.80/1 2}
58. Bxe5 {12.07/26 1} g6 {14.76/26 2 (Kf8)} 59. Bc3 {12.84/24 1} Nc6 {16.27/28
0 (Se6)} 60. e4 {13.06/28 2 (Kf3)} Na5 {18.89/4 2 (Kf7)} 61. bxa5 {#13/42 1}
Kd7 {#12/37 1 (b4)} 62. a6 {#11/41 1 (f5) Legolas,Eigen_v1 gibt auf (Lag: Av=0.
22s, max=0.8s)} 1-0
Parent - - By Reinhold Stibi Date 2020-07-15 14:46
Stockfish NNUE 256x64 ss3 Gekkehender  ist taktisch eine Rakete.

Im ERET Test 15 Sek.  X5690 24 Threads  100 aus 111  = 90,0 %  =1,51 s.

Begebe mich nun in den Computerraum bei Schach.de  und teste im praktischen Spiel.
Parent - - By Eduard Nemeth Date 2020-07-15 14:50
Habe doch gesagt dass die neue Engine samt neuem Netz (beides vom 12.07.20) gut ist. 
Parent - - By Lothar Jung Date 2020-07-15 16:25 Edited 2020-07-15 16:30
Die Engine nutzt blas für das Netz, also CPU-AVX-Berechnung.
Wieso kein CUDA oder OpenCL oder DX12? Also nicht die GPU?
Parent - - By Peter Martan Date 2020-07-15 17:51 Edited 2020-07-15 18:06
Nein. Ist doch ein Stockfish.
Parent - - By Lothar Jung Date 2020-07-15 18:21
Ja, aber es geht um die Geschwindigkeit der Algebraberechnungen (Matixmulti etc.).
Parent - By Peter Martan Date 2020-07-15 18:33
Na, wenn du meinst. Aber die rechnende Engine ist trotzdem ein SF, und wieso hat der bisher keine Algebra gebraucht?
Parent - - By Jörg Oster Date 2020-07-15 18:43
Lothar Jung schrieb:

Die Engine nutzt blas für das Netz, also CPU-AVX-Berechnung.
Wieso kein CUDA oder OpenCL oder DX12? Also nicht die GPU?


OpenBLAS wird nur während des Lernens verwendet, soweit ich weiß.
Ansonsten finden bestimmte Befehlssatzerweiterungen moderner CPUs Verwendung,
sog. Streaming SIMD Extensions, SSSE3, SSE4 oder AVX2.

Es ist doch gerade der Punkt dieser Netzwerke, dass die Berechnungen komplett auf der CPU ablaufen können.
Parent - - By Peter Martan Date 2020-07-15 19:20
Jörg Oster schrieb:

Lothar Jung schrieb:

Die Engine nutzt blas für das Netz, also CPU-AVX-Berechnung.
Wieso kein CUDA oder OpenCL oder DX12? Also nicht die GPU?

OpenBLAS wird nur während des Lernens verwendet, soweit ich weiß.

Aber die Lern- Binaries sind doch auch alle rein CPU- basiert, oder?
Parent - - By Jörg Oster Date 2020-07-15 19:22
Peter Martan schrieb:

Jörg Oster schrieb:

Lothar Jung schrieb:

Die Engine nutzt blas für das Netz, also CPU-AVX-Berechnung.
Wieso kein CUDA oder OpenCL oder DX12? Also nicht die GPU?

OpenBLAS wird nur während des Lernens verwendet, soweit ich weiß.

Aber die Lern- Binaries sind doch auch alle rein CPU- basiert, oder?


Ja.
Parent - - By Peter Martan Date 2020-07-15 19:23
Danke, Jörg.
Parent - - By Lothar Jung Date 2020-07-15 22:01
Ich möchte nicht darauf rumreiten. Ich bin begeistert von der SFNN-Entwicklung nur auf CPUs. Aber die Blas-Funktionen sind mit einem  GPU-Backend um ein vielfaches schneller.
Die GPUs können Differentialrechnungen auf Felder (Netze) um ein Vielfaches schneller ausführen. Von Tensor-Cores ganz zu schweigen.
Parent - By Peter Martan Date 2020-07-15 22:18
Ich sehe schon, wir brauchen einen SF für GPU.
Mach mal, Lothar, der Code liegt offen.
Parent - - By Peter Martan Date 2020-07-16 17:24
Thomas Plaschke schrieb:

Ich habe versucht, Netze mit den beiden NNUE-Versionen (FireFather und Stockfish-NNUE) herzustellen. Das GUI ist mir dabei leider auch in Version 1.4 keine Hilfe (ich bin mir nicht mal sicher, ob sie die Parameter korrekt übergibt).

Bei mir war es mit 1.1 so weit gediehen, dass die kifu.bin- Datei im trainingsdata- Ordner angelegt war (ca. 30Mb und eine Stunde Dauer) und 8 Ordner mit 0, 1, ..7, bis final mit je 20Mb nn.bin- Dateien, das alles unter dem Überordner evalsave.
Nachdem nur 1 Thread aktiv war und nur 16Mb Hash, obwohl in der Config 12 Threads und 32G definiert waren, hat das Ganze noch zusätzlich zum Generieren der Trainingsdata- Datei weitere 6 Stunden gedauert, dann ist die learn- Engine abgestürzt.

Bevor ich mit dem Ganzen wieder von vorne anfange, hab' ich die Version 1.4 runtergeladen und versucht durch Kopieren der schon vorhandenen Dateien in die neuen leeren Ordner mit den neuen Binaries das Lernen neu zu starten. Darauf kam die Meldung, dass die nn.bin nicht gelesen werden kann.

Jetzt überlege ich, Norman Schmidt anzuschreiben oder den nächsten Versuch ohne GUI zu starten.

Ich habe die neuesten SF NNUE- binaries, mit denen man auch .pgn- Daten einlesen kann, schon irgendwo im CCC als Download- Link gesehen, aber noch nicht runtergeladen.
Das war irgendwo in den mittlerweile auch schon ziemlich vielen ziemlich lang gewordenen CCC- Threads, ich mag das nicht einmal mehr suchen, so sauer bin ich momentan schon wieder.
Hat jemand den Link für den Download der .pgn- fähigen Trainings-Binaries?

Oder bessere Erfahrungen mit Firefather's GUI?

Für heute reicht's mir aber ohnehin erst mal. Wenn ich mir vorstelle, dass man jetzt dann ständig eigene Netze aktualisieren wird können oder runterladen, zusätzlich zu den Engines, die man sowieso schon dauernd aktualisieren "muss", graust mir schon wieder ganz schön vor der brave new world, die einem da jetzt wieder bevorsteht.

Als ob das mit den ganzen LC0- Versionen, Settings und Netzen nicht schon genug Arbeit gewesen wäre.
Und wozu das Ganze? Damit man noch mehr Remis spielen (lassen) kann Eng-Eng-Eng.
Parent - - By Thomas Plaschke Date 2020-07-16 20:52
Nachdem mir Jörg Oster mehrmals erklärt hat (danke für die Geduld, Jörg), dass die Größe der bin-Datei nichts zu sagen hat, habe ich endlich verstanden, dass es a) anders ist als bei den lc0-Netzen und b), dass ich ignorieren sollte, dass die erste NNUE-Version nur 403 kB(!) große Netzdateien erzeugt hat. Meine Batchdatei hat also richtig funktioniert und die Parameter waren korrekt. Ich habe mir dann in 12 Stunden ein Netz der Tiefe 9 (mit Parameter loop=3000000) erstellen lassen - der Vorteil der Batch-Datei ist, dass sie alles auf einen Rutsch macht und man Parameter einfacher verwalten/steuern kann. Was die Parameter selbst angeht, habe ich im Übrigen nicht die geringste Ahnung - außer depth kann ich keiner Bezeichnung eine Bedeutung zuordnen.
Andere Eigenarten muss man auch hinnehmen. - Dass Stockfish-NNUE für EvalDir nur eval akzeptiert und die Netzdatei nn.bin heißen muss - auf mehrere Netzdateien in einem Verzeichnis  muss man dann verzichten ... aber der Feinschliff kommt sicher später.

Das GUI zu Firefather hat mich dagegen zu viele Nerven gekostet. Damit möchte ich mich nicht mehr befassen. Bspw. wird der Parameter SMP zwar in der Konfigurationsdatei gespeichert, er stellt sich alle Nase lang aber wieder auf 1 um. Und anscheinend muss man jeden der drei Programmaufrufe einzeln ausführen. Da habe ich's mit der Batchdatei leichter und bequemer.

Aber allem zum Trotz: Es ist halt interessant!

Viele Grüße
Th. Plaschke
Parent - By Peter Martan Date 2020-07-16 21:25
Thomas Plaschke schrieb:

Das GUI zu Firefather hat mich dagegen zu viele Nerven gekostet. Damit möchte ich mich nicht mehr befassen. Bspw. wird der Parameter SMP zwar in der Konfigurationsdatei gespeichert, er stellt sich alle Nase lang aber wieder auf 1 um. Und anscheinend muss man jeden der drei Programmaufrufe einzeln ausführen. Da habe ich's mit der Batchdatei leichter und bequemer.

Aber allem zum Trotz: Es ist halt interessant!

Na gut, wenn das mit dem SMP- bug bei dir auch bei 1.4 so war, muss ich das nicht mehr probieren, denke ich.
Werde mir die binaries zum .pgn- Lernen wieder suchen und dann mit denen händisch weiter basteln.
Und ja, natürlich ist's interessant.
Parent - - By Benno Hartwig Date 2020-07-15 19:36
Aber faszinierend gut hält dieser StockfishNNUE schon mit!
Oder hätte ich dies auch erwarten sollen?
Parent - - By Peter Martan Date 2020-07-15 20:13
Liest du eigentlich auch manchmal was auf den Links, die man dir schickt?

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=132761#pid132761

Im Posting drunter sind auch noch ein paar.
Parent - - By Eduard Nemeth Date 2020-07-15 21:13
Was S. Pohl getestet hat ist StockFiNN 0.2, und es hat auch ein anderes Netz. Die Engines sind nicht gleich und die Netze auch nicht.
Up Topic Hauptforen / CSS-Forum / nn.bin für Stockfish NNUE
1 2 Previous Next  

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill