Home

Awesome

<p align="center" width="100%"> <img src="./assets/logo_v2.png" alt="Vigogne" style="width: 40%; min-width: 300px; display: block; margin: auto;"> </p>

Vigogne πŸ¦™: French Instruction-following and Chat Models

<p align="center"> <a href="https://github.com/bofenghuang/vigogne/releases"> <img alt="GitHub release" src="https://img.shields.io/github/release/bofenghuang/vigogne.svg"> </a> <!-- <a href="https://github.com/bofenghuang/vigogne/blob/main/LICENSE"> <img alt="License" src="https://img.shields.io/github/license/bofenghuang/vigogne.svg?color=green"> </a> --> <a href="https://github.com/bofenghuang/vigogne/blob/main/LICENSE"> <img alt="Code License" src="https://img.shields.io/badge/Code%20License-Apache_2.0-green.svg"> </a> <a href="https://github.com/bofenghuang/vigogne/blob/main/DATA_LICENSE"> <img alt="Data License" src="https://img.shields.io/badge/Data%20License-CC%20By%20NC%204.0-red.svg"> </a> <a href="https://huggingface.co/models?search=bofenghuang/vigogne"> <img alt="Models" src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Models-yellow.svg"> </a> <a href="https://colab.research.google.com/github/bofenghuang/vigogne/blob/main/notebooks/infer_chat.ipynb"> <img alt="Open In Colab" src="https://colab.research.google.com/assets/colab-badge.svg"> </a> </p>

The vigogne (French name for vicuΓ±a) is a South American camelid native to the Andes Mountains. It is closely related to the llama, alpaca, and guanaco.

Vigogne is a collection of powerful πŸ‡«πŸ‡· French large language models (LLMs) that are open-source and designed for instruction-following and chat purposes.

The main contributions of this project include:

πŸ’‘ The screencast below shows the current πŸ¦™ Vigogne-7B-Chat model running on Apple M1 Pro using 4GB of weights (no sped up).

Table of Contents

Updates

Installation

  1. Clone this repository
git clone https://github.com/bofenghuang/vigogne.git
cd vigogne
  1. Install the package
# Install DeepSpeed if want to accelerate training with it
pip install deepspeed

# Install FlashAttention to further speed up training and reduce memory usage (essential for long sequences)
pip install packaging ninja
# For FlashAttention 1
# pip install --no-build-isolation flash-attn<2
# For FlashAttention 2
# Might takes 3-5 minutes on a 64-core machine
pip install --no-build-isolation flash-attn

pip install .

πŸ¦™ Vigogne Models

The fine-tuned πŸ¦™ Vigogne models come in two types: instruction-following models and chat models. The instruction-following models are optimized to generate concise and helpful responses to user instructions, similar to text-davinci-003. Meanwhile, the chat models are designed for multi-turn dialogues, but they also perform well in instruction-following tasks, similar to gpt-3.5-turbo.

More information can be found in vigogne/model.

Inference and Deployment

This repository offers multiple options for inference and deployment, including Google Colab notebooks, Gradio demos, FastChat, and vLLM. It also offers guidance on conducting experiments using llama.cpp on your personal computer.

More information can be found in vigogne/inference.

Application

This repository provides integration examples for incorporating Vigogne models into diverse application ecosystems, including LangChain.

More information can be found in vigogne/application.

Data

The Vigogne models were trained on a variety of datasets, including open-source datasets, ChatGPT-distillation datasets (self-instruct, self-chat, and orca-style data), and translated datasets.

More information can be found in vigogne/data.

Training

The Vigogne models were mostly instruction fine-tuned from other foundation models.

More information can be found in vigogne/training.

Bias, Risks, and Limitations

Vigogne is still under development, and there are many limitations that have to be addressed. Please note that it is possible that the model generates harmful or biased content, incorrect information or generally unhelpful answers.

Acknowledgements

Our project builds upon the following open-source projects for further development. We would like to extend our sincerest gratitude to the individuals involved in the research and development of these projects.

Citation

If you find the model, data, and code in our project useful, please consider citing our work as follows:

@misc{vigogne,
  author = {Bofeng Huang},
  title = {Vigogne: French Instruction-following and Chat Models},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/bofenghuang/vigogne}},
}