OpenCSG stands for Converged resources, Software refinement, and Generative LM. The 'C' represents Converged resources, indicating the integration and full utilization of hybrid resources. The 'S' stands for Software refinement, signifying software that is refined by large models. The 'G' represents Generative LM, which denotes widespread, inclusive, and democratized generative large models.
The vision of OpenCSG is to empower every industry, every company, and every individual to own their models. We adhere to the principles of openness and open source, making the large model software stack of OpenCSG available to the community. We welcome everyone to use, send feedback, and contribute collaboratively.
Model Description
stable-code-3b is a decoder-only language model with 2.7 billion parameters, pre-trained on 1.3 trillion tokens of diverse textual and code datasets. The model is trained on 18 programming languages, selected based on the 2023 StackOverflow Developer Survey.
It demonstrates state-of-the-art performance, compared to models of similar size, across multiple programming languages tested using BigCode's Evaluation Harness.
opencsg-stable-code-3b-v1 is a model based on stable-code-3b that have been fine-tuned using full-parameter tuning methods.
This is the repository for the base 3B version finetuned based on stable-code-3b.
HumanEval is the most common code generation benchmark for evaluating model performance, especially on the compeltion of code exercise cases.
Model evaluation is, to some extent, a metaphysics. Different models have different sensitivities to decoding methods, parameters and instructions.
It is impratical for us to manually set specific configurations for each fine-tuned model, because a real LLM should master general capabilities despite the parameters being manipulated by users.
Therefore, OpenCSG racked their brains to provide a relatively fair method to compare the fine-tuned models on the HumanEval benchmark.
To simplify the comparison, we chosed the Pass@1 metric for the Python language, but our fine-tuning dataset includes samples in multiple languages.
For fairness, we evaluated the original and fine-tuned stable-code-3b models based only on the prompts from the original cases, without including any other instructions.
Besides, we use the greedy decoding method for each model during evaluation.
Model
HumanEval python pass@1
stable-coder-3b
29.3%
opencsg-stable-coder-3b-v1
46.3%
phi-2
48.2%
opencsg-phi-2-v0.1
54.3%
TODO
We will provide more benchmark scores on fine-tuned models in the future.
We will provide different practical problems to evaluate the performance of fine-tuned models in the field of software engineering.