Thytu / StockLLM

Elevating Chess Strategy with Fine-Tuned Large Language Model
MIT License
3 stars 0 forks source link

Contributors Forks Stargazers Issues PUll Request MIT License


Logo

StockLLM

Elevating Chess Strategy with Fine-Tuned Language Models
Explore the docs »

View Demo · Report Bug · Request Feature


Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Acknowledgments
  7. Contact


About The Project

StockLLM represents a initiative focusing on refining chess instruction and language modeling through the fine-tuning of a Large Language Model. This project encompasses two pivotal components, each engineered to enhance and streamline the comprehension and dissemination of chess-related knowledge:

StockLLM (Work in Progress)

StockLLM stands as an ongoing endeavor aimed at developing a highly specialized Large Language Model tailored explicitly for the domain of chess instruction. StockLLM endeavors to distill and encode intricate chess-related concepts, strategies, and instructional nuances into a language-based model.

Key Features of StockLLM (WIP):

ChessInstruct Dataset

The ChessInstruct Dataset serves as the foundation for training and fine-tuning Language Models (LLMs) specifically in the realm of chess instruction. Derived from the laion/strategic_game_chess dataset, this meticulously curated dataset encompasses a wide array of annotated instructional chess content.

Features of the ChessInstruct Dataset:

StockLLM, in conjunction with the ChessInstruct Dataset, aims to propel the boundaries of language modeling in the domain of chess instruction. Through nuanced linguistic representations and tailored instructional datasets, this project envisions revolutionizing the efficacy and depth of chess education by harnessing the power of advanced Natural Language Processing.

(back to top)

Getting Started

TODO

(back to top)

Usage

To replicate the experiments, there are two primary methods:

Using DVC

Utilize DVC to rerun the entire pipeline or modify certain parameters:

Run the entire pipeline:

dvc repro

Play with the parameters used:

dvc exp run -S "param.to.overwrite=new-value"

Running Individual Stages (without DVC)

Execute a single stage by running the following command:

python src/entrypoint.py <name-of-stage-to-run>

For instance:

python src/entrypoint.py train-instruct-model

Upon executing the DVC pipeline, multiple outputs will be generated and stored in the outputs/ folder:

  1. Intermediate version of Mistral-7b : This model incorporates each possible chess move within its vocabulary as a distinct token.
  2. ChessInstruct Dataset: An instructive dataset focused explicitly on chess.
  3. StockLLM: An instructive iteration of Mistral-7b specialized specifically for chess.

These outputs encapsulate the refined components developed during the experiment replication process, providing a comprehensive suite of resources for further exploration and utilization within the realm of chess instruction and language modeling. Feel free to adapt and utilize these outputs in alignment with your specific requirements and research goals.

(back to top)

Roadmap

Roadmap

Dataset

Model

See the open issues for a full list of proposed features and known issues.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! 🌟 Thanks again!

Please try to follow Conventional Commits.

(back to top)

Acknowledgments

I extend my heartfelt thanks to LAION for graciously providing the laion/strategic_game_chess dataset that served as the backbone of this project.

(back to top)

Contact

Valentin De Matos - @ThytuVDM - vltn.dematos@gmail.com

(back to top)