--- license: llama2 library_name: transformers datasets: - ise-uiuc/Magicoder-OSS-Instruct-75K - ise-uiuc/Magicoder-Evol-Instruct-110K pipeline_tag: text-generation model-index: - name: Magicoder-S-CL-7B results: - task: type: text-generation name: Text Generation dataset: name: AI2 Reasoning Challenge (25-Shot) type: ai2_arc config: ARC-Challenge split: test args: num_few_shot: 25 metrics: - type: acc_norm value: 43.34 name: normalized accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ise-uiuc/Magicoder-S-CL-7B name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: HellaSwag (10-Shot) type: hellaswag split: validation args: num_few_shot: 10 metrics: - type: acc_norm value: 67.01 name: normalized accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ise-uiuc/Magicoder-S-CL-7B name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: MMLU (5-Shot) type: cais/mmlu config: all split: test args: num_few_shot: 5 metrics: - type: acc value: 36.87 name: accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ise-uiuc/Magicoder-S-CL-7B name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: TruthfulQA (0-shot) type: truthful_qa config: multiple_choice split: validation args: num_few_shot: 0 metrics: - type: mc2 value: 38.67 source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ise-uiuc/Magicoder-S-CL-7B name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: Winogrande (5-shot) type: winogrande config: winogrande_xl split: validation args: num_few_shot: 5 metrics: - type: acc value: 62.19 name: accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ise-uiuc/Magicoder-S-CL-7B name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: GSM8k (5-shot) type: gsm8k config: main split: test args: num_few_shot: 5 metrics: - type: acc value: 14.33 name: accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ise-uiuc/Magicoder-S-CL-7B name: Open LLM Leaderboard --- # 🎩 Magicoder: Source Code Is All You Need > Refer to our GitHub repo [ise-uiuc/magicoder](https://github.com/ise-uiuc/magicoder/) for an up-to-date introduction to the Magicoder family! * 🎩**Magicoder** is a model family empowered by 🪄**OSS-Instruct**, a novel approach to enlightening LLMs with open-source code snippets for generating *low-bias* and *high-quality* instruction data for code. * 🪄**OSS-Instruct** mitigates the *inherent bias* of the LLM-synthesized instruction data by empowering them with *a wealth of open-source references* to produce more diverse, realistic, and controllable data. ![Overview of OSS-Instruct](assets/overview.svg) ![Overview of Result](assets/result.png) ## Model Details ### Model Description * **Developed by:** [Yuxiang Wei](https://yuxiang.cs.illinois.edu), [Zhe Wang](https://github.com/zhewang2001), [Jiawei Liu](https://jiawei-site.github.io), [Yifeng Ding](https://yifeng-ding.com), [Lingming Zhang](https://lingming.cs.illinois.edu) * **License:** [Llama 2](https://ai.meta.com/llama/license/) * **Finetuned from model:** [CodeLlama-7b-Python-hf](https://huggingface.co/codellama/CodeLlama-7b-Python-hf) ### Model Sources * **Repository:** * **Paper:** * **Demo (powered by [Gradio](https://www.gradio.app)):** ### Training Data * [Magicoder-OSS-Instruct-75K](https://huggingface.co/datasets/ise-uiuc/Magicoder_oss_instruct_75k): generated through **OSS-Instruct** using `gpt-3.5-turbo-1106` and used to train both Magicoder and Magicoder-S series. * [Magicoder-Evol-Instruct-110K](https://huggingface.co/datasets/ise-uiuc/Magicoder_evol_instruct_110k): decontaminated and redistributed from [theblackcat102/evol-codealpaca-v1](https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1), used to further finetune Magicoder series and obtain Magicoder-S models. ## Uses ### Direct Use Magicoders are designed and best suited for **coding tasks**. ### Out-of-Scope Use Magicoders may not work well in non-coding tasks. ## Bias, Risks, and Limitations Magicoders may sometimes make errors, producing misleading contents, or struggle to manage tasks that are not related to coding. ### Recommendations Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. ## How to Get Started with the Model Use the code below to get started with the model. Make sure you installed the [transformers](https://huggingface.co/docs/transformers/index) library. ```python from transformers import pipeline import torch MAGICODER_PROMPT = """You are an exceptionally intelligent coding assistant that consistently delivers accurate and reliable responses to user instructions. @@ Instruction {instruction} @@ Response """ instruction = prompt = MAGICODER_PROMPT.format(instruction=instruction) generator = pipeline( model="ise-uiuc/Magicoder-S-CL-7B", task="text-generation", torch_dtype=torch.bfloat16, device_map="auto", ) result = generator(prompt, max_length=1024, num_return_sequences=1, temperature=0.0) print(result[0]["generated_text"]) ``` ## Technical Details Refer to our GitHub repo: [ise-uiuc/magicoder](https://github.com/ise-uiuc/magicoder/). ## Citation ```bibtex @misc{magicoder, title={Magicoder: Source Code Is All You Need}, author={Yuxiang Wei and Zhe Wang and Jiawei Liu and Yifeng Ding and Lingming Zhang}, year={2023}, eprint={2312.02120}, archivePrefix={arXiv}, primaryClass={cs.CL} } ``` ## Acknowledgements * [WizardCoder](https://github.com/nlpxucan/WizardLM/tree/main/WizardCoder): Evol-Instruct * [DeepSeek-Coder](https://github.com/deepseek-ai/DeepSeek-Coder): Base model for Magicoder-DS * [CodeLlama](https://ai.meta.com/research/publications/code-llama-open-foundation-models-for-code/): Base model for Magicoder-CL * [StarCoder](https://arxiv.org/abs/2305.06161): Data decontamination ## Important Note Magicoder models are trained on the synthetic data generated by OpenAI models. Please pay attention to OpenAI's [terms of use](https://openai.com/policies/terms-of-use) when using the models and the datasets. Magicoders will not compete with OpenAI's commercial products. # [Open LLM Leaderboard Evaluation Results](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) Detailed results can be found [here](https://huggingface.co/datasets/open-llm-leaderboard/details_ise-uiuc__Magicoder-S-CL-7B) | Metric |Value| |---------------------------------|----:| |Avg. |43.73| |AI2 Reasoning Challenge (25-Shot)|43.34| |HellaSwag (10-Shot) |67.01| |MMLU (5-Shot) |36.87| |TruthfulQA (0-shot) |38.67| |Winogrande (5-shot) |62.19| |GSM8k (5-shot) |14.33|