Rafs-an09002 commited on
Commit
e9362eb
Β·
verified Β·
1 Parent(s): 889875a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +41 -40
README.md CHANGED
@@ -17,6 +17,9 @@ language:
17
  pipeline_tag: reinforcement-learning
18
  metrics:
19
  - mse
 
 
 
20
  ---
21
 
22
  # β™ŸοΈ GambitFlow Nexus-core (CE)
@@ -29,82 +32,80 @@ metrics:
29
  ![Architecture](https://img.shields.io/badge/Architecture-ResNet--10-orange)
30
  ![Parameters](https://img.shields.io/badge/Params-~3.5M-blue)
31
  ![Format](https://img.shields.io/badge/Format-ONNX%20(Opset%2017)-green)
 
32
 
33
- [**Live Engine Demo**](https://chessmate-engine.onrender.com/) β€’ [**GitHub Repository**](https://github.com/NeuraxLabs/GambitFlow)
34
 
35
  </div>
36
 
37
  ## πŸ“– Model Overview
38
 
39
- **Nexus-core CE** is the flagship chess engine of the **GambitFlow** project. It is a deep neural network designed to evaluate chess positions with grandmaster-like intuition. unlike traditional engines (like early Stockfish versions) that rely on hand-crafted evaluation functions, Nexus-core learned chess strategy by analyzing millions of games played by elite human players.
40
 
41
- It serves as the static evaluation function (brain) for the GambitFlow search algorithm.
42
 
43
  ## 🧠 Technical Architecture
44
 
45
- The model is built using a **Residual Neural Network (ResNet)** architecture, inspired by AlphaZero but optimized for web deployment.
46
 
 
47
  | Component | Specification | Description |
48
  | :--- | :--- | :--- |
49
- | **Input Layer** | `(1, 12, 8, 8)` | A 12-channel bitboard representation. Channels 0-5 for White pieces, 6-11 for Black pieces. |
50
- | **Convolutional Block** | 128 Filters, 3x3 Kernel | Initial feature extraction from the raw board state. |
51
- | **Residual Tower** | **10 Blocks** | A stack of 10 Residual Blocks. Each block consists of `Conv2d -> BatchNorm -> ReLU -> Conv2d -> BatchNorm -> Add -> ReLU`. This depth allows the model to understand complex spatial patterns and long-term strategy. |
52
- | **Value Head** | Dense / Linear | Compresses the extracted features into a single scalar value. |
53
- | **Output** | `Scalar (-1.0 to 1.0)` | `Tanh` activated score. Positive values favor White, negative values favor Black. |
54
- | **Parameter Count** | **~3.5 Million** | Optimized for balancing depth and inference speed in browsers. |
55
 
56
  ## πŸ“Š Training Methodology
57
 
58
- The model was trained using a highly optimized pipeline on Google Colab (T4 GPUs).
59
 
60
- ### 1. Data Source ("The Elite Dataset")
61
- We did not use random chess games. We curated a dataset (`gambitflow-elite-data`) specifically for high-level play.
62
- - **Source:** Lichess Standard Rated Games (January 2017).
63
- - **Filtering Criteria:** Both White and Black players must have an **ELO > 2000**.
64
- - **Volume:** Over **5,000,000 unique positions** extracted from the first 20 moves of elite games.
65
 
66
  ### 2. Training Protocol
67
- - **Framework:** PyTorch 2.5.1.
68
- - **Optimization:**
69
- - **Mixed Precision (AMP):** Used `torch.amp.autocast` (float16) to double the batch size and training speed without losing accuracy.
70
- - **Optimizer:** AdamW with Weight Decay.
71
- - **Loss Function:** Mean Squared Error (MSE) comparing the model's evaluation against the actual game outcome (0, 0.5, or 1).
72
- - **Gradient Accumulation:** Effective batch size of 1024 to ensure stable convergence.
73
 
74
- ### 3. Export & Optimization
75
- - The model was exported to **ONNX** format using **Opset Version 17**.
76
- - **Constant Folding** was enabled to bake static parts of the graph into the model, reducing runtime overhead.
77
- - Validated for **WebAssembly (WASM)** compatibility via `onnxruntime-web`.
78
 
79
- ## πŸ’» Usage (JavaScript / ONNX Runtime)
80
 
81
- This model is designed to run client-side.
82
 
83
  ```javascript
84
  import * as ort from 'onnxruntime-web';
85
 
86
- // 1. Initialize Session
87
  const session = await ort.InferenceSession.create('./chess_model_v2.onnx');
88
 
89
- // 2. Encode Board (FEN to Tensor)
90
- // Input must be a Float32Array of size 768 (12x8x8 flattened)
91
- const inputTensor = new ort.Tensor('float32', float32Array, [1, 12, 8, 8]);
92
 
93
- // 3. Run Inference
94
  const results = await session.run({ board_state: inputTensor });
95
- const evaluation = results.evaluation.data[0];
96
 
97
- console.log("Position Score:", evaluation);
98
  ```
99
 
100
- ## ⚠️ License
101
 
102
- **GambitFlow Nexus-core** is licensed under the **Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)** license.
103
 
104
- - **Allowed:** Personal use, educational research, forking for non-commercial improvements.
105
- - **Prohibited:** Selling the model, using it in paid software services, or claiming it as your own without attribution.
 
106
 
107
  ---
108
  <div align="center">
109
- <p>Curated by <a href="https://github.com/GambitFlow">GambitFlow</a></p>
110
  </div>
 
17
  pipeline_tag: reinforcement-learning
18
  metrics:
19
  - mse
20
+ model-index:
21
+ - name: GambitFlow Nexus-core (CE)
22
+ results: []
23
  ---
24
 
25
  # β™ŸοΈ GambitFlow Nexus-core (CE)
 
32
  ![Architecture](https://img.shields.io/badge/Architecture-ResNet--10-orange)
33
  ![Parameters](https://img.shields.io/badge/Params-~3.5M-blue)
34
  ![Format](https://img.shields.io/badge/Format-ONNX%20(Opset%2017)-green)
35
+ ![Type](https://img.shields.io/badge/Model--Type-Static--Evaluation-red)
36
 
37
+ [**Live Engine Demo**](https://chessmate-engine.onrender.com/) β€’ [**Dataset Card**](https://huggingface.co/datasets/Rafs-an09002/gambitflow-elite-data)
38
 
39
  </div>
40
 
41
  ## πŸ“– Model Overview
42
 
43
+ **Nexus-core CE** (Core Edition) is the primary engine of the **GambitFlow** project. It is a deep Residual Neural Network designed to evaluate chess positions with high-level human-like intuition. Unlike traditional engines that use manual "if-then" logic, Nexus-core learned chess strategy by analyzing over **5 million positions** played by elite grandmaster-level players.
44
 
45
+ It serves as the static evaluation function (the "Brain") for the GambitFlow search algorithm, providing a numeric advantage score for any given board state.
46
 
47
  ## 🧠 Technical Architecture
48
 
49
+ The model is built using a **Residual Neural Network (ResNet)** architecture, inspired by the AlphaZero research but highly optimized for efficient inference in web browsers and low-power devices.
50
 
51
+ ### Specification Table
52
  | Component | Specification | Description |
53
  | :--- | :--- | :--- |
54
+ | **Input Layer** | `(1, 12, 8, 8)` | 12-channel bitboard representation (6 for White, 6 for Black pieces). |
55
+ | **Convolutional Stem** | 128 Filters, 3x3 | Initial spatial feature extraction from the 8x8 grid. |
56
+ | **Residual Tower** | **10 Blocks** | A stack of 10 ResBlocks using Skip-Connections to prevent gradient vanishing and capture deep strategy. |
57
+ | **Value Head** | Dense / Tanh | Compresses 8192 high-level features into a single scalar evaluation. |
58
+ | **Output Range** | `[-1.0, 1.0]` | Positive favors White, negative favors Black. |
59
+ | **Params** | **~3.5 Million** | Balanced for high depth-to-speed ratio. |
60
 
61
  ## πŸ“Š Training Methodology
62
 
63
+ Nexus-core was trained using a professional-grade pipeline designed for robustness and strategic depth.
64
 
65
+ ### 1. The Elite Dataset
66
+ We utilized the `gambitflow-elite-data` corpus:
67
+ - **Filtering:** Only games where **both players had ELO > 2000**.
68
+ - **Stage:** Focused on the first 20 moves to master opening and middlegame transition.
69
+ - **Volume:** ~5,000,000 unique positions.
70
 
71
  ### 2. Training Protocol
72
+ - **Mixed Precision:** Trained using `torch.amp` (FP16) for 2x faster convergence and memory efficiency.
73
+ - **Optimizer:** AdamW with a weight decay of `1e-4` to prevent overfitting.
74
+ - **Loss:** MSE (Mean Squared Error) between the predicted value and the actual game result.
 
 
 
75
 
76
+ ### 3. ONNX Optimization
77
+ - Exported with **Opset 17**.
78
+ - **Constant Folding** and Graph Optimization enabled to reduce latency during real-time play.
 
79
 
80
+ ## πŸ’» Implementation (JavaScript)
81
 
82
+ Designed for seamless integration with `onnxruntime-web`.
83
 
84
  ```javascript
85
  import * as ort from 'onnxruntime-web';
86
 
87
+ // 1. Load the Brain
88
  const session = await ort.InferenceSession.create('./chess_model_v2.onnx');
89
 
90
+ // 2. Prepare 12x8x8 Tensor (Encoded from FEN)
91
+ const inputTensor = new ort.Tensor('float32', boardData, [1, 12, 8, 8]);
 
92
 
93
+ // 3. Get Evaluation
94
  const results = await session.run({ board_state: inputTensor });
95
+ const score = results.evaluation.data[0];
96
 
97
+ console.log("Nexus-core Evaluation:", score);
98
  ```
99
 
100
+ ## πŸ›‘οΈ License & Ethics
101
 
102
+ This model is shared under the **Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)** license.
103
 
104
+ - **Attribution:** You must give credit to the GambitFlow project.
105
+ - **Non-Commercial:** This model cannot be used for commercial purposes without an explicit agreement.
106
+ - **Innovation:** We encourage researchers to fork and improve this model for non-commercial game-AI research.
107
 
108
  ---
109
  <div align="center">
110
+ <p>Developed by <a href="https://huggingface.co/Rafs-an09002">Rafsan</a> @ GambitFlow Labs</p>
111
  </div>