{"id":50682284,"url":"https://github.com/microsoft/WaveCoder","last_synced_at":"2026-06-25T18:00:57.658Z","repository":{"id":241069544,"uuid":"798639442","full_name":"microsoft/WaveCoder","owner":"microsoft","description":"Advancing LLM with Diverse Coding Capabilities","archived":false,"fork":false,"pushed_at":"2024-07-25T11:49:59.000Z","size":4905,"stargazers_count":80,"open_issues_count":4,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-06-16T22:29:28.703Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2312.14187","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-10T07:18:36.000Z","updated_at":"2026-06-05T17:59:52.000Z","dependencies_parsed_at":"2024-05-22T08:57:38.994Z","dependency_job_id":null,"html_url":"https://github.com/microsoft/WaveCoder","commit_stats":null,"previous_names":["microsoft/wavecoder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/WaveCoder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FWaveCoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FWaveCoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FWaveCoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FWaveCoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/WaveCoder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FWaveCoder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34478667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-08T20:00:23.311Z","updated_at":"2026-06-25T18:00:57.639Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\u003cimg src=\"./imgs/logo//wave.png\" width=\"100\" alt=\"WaveCoder\" /\u003e\n\u003cbr\u003e\nWaveCoder: Widespread And Versatile Enhanced Code LLM\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![](https://img.shields.io/badge/Task-Code_Related-blue)\n![](https://img.shields.io/badge/Model-Released-orange)\n![](https://img.shields.io/badge/Code_License-MIT-green)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://arxiv.org/abs/2312.14187\"\u003e\u003cb\u003e[📜 Paper]\u003c/b\u003e\u003c/a\u003e •\n  \u003c!-- \u003ca href=\"\"\u003e\u003cb\u003e[🤗 HF Models]\u003c/b\u003e\u003c/a\u003e • --\u003e\n  \u003ca href=\"https://huggingface.co/microsoft/wavecoder-ultra-6.7b\"\u003e\u003cb\u003e[🤗 HF Models]\u003c/b\u003e\u003c/a\u003e •\n  \u003ca href=\"https://github.com/microsoft/WaveCoder\"\u003e\u003cb\u003e[🐱 GitHub]\u003c/b\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://twitter.com/TeamCodeLLM_AI\"\u003e\u003cb\u003e[🐦 Twitter]\u003c/b\u003e\u003c/a\u003e •\n  \u003ca href=\"https://www.reddit.com/r/LocalLLaMA/comments/19a1scy/wavecoderultra67b_claims_to_be_the_2nd_best_model/\"\u003e\u003cb\u003e[💬 Reddit]\u003c/b\u003e\u003c/a\u003e •\n  \u003ca href=\"https://www.analyticsvidhya.com/blog/2024/01/microsofts-wavecoder-and-codeocean-revolutionize-instruction-tuning/\"\u003e[🍀 Unofficial Blog]\u003c/a\u003e\n  \u003c!-- \u003ca href=\"#-quick-start\"\u003eQuick Start\u003c/a\u003e • --\u003e\n  \u003c!-- \u003ca href=\"#%EF%B8%8F-citation\"\u003eCitation\u003c/a\u003e --\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nRepo for \"\u003ca href=\"https://arxiv.org/abs/2312.14187\" target=\"_blank\"\u003eWaveCoder: Widespread And Versatile Enhanced Instruction Tuning with Refined Data Generation\u003c/a\u003e\" [ACL 2024 Main]\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./imgs/main//pipeline.png\" width=\"800\"\u003e\n        \u003cbr\u003e\n    \u003cem\u003eFigure 1: WaveCoder models pipeline.\u003c/em\u003e\n\u003c/p\u003e\n\n## 🔥 News\n\n\u003c!-- - [2023/10/13] 🔥🔥🔥 We release a demo for WaveCoder at [🐯 Gradio](https://955\u003c/p\u003e\u003c/p\u003e7c5365a6f44dc84.gradio.live), try it out!!! --\u003e\n\n- [2024/05/16] WaveCoder paper is accepted by main conference of ACL 2024.\n- [2024/04/10] 🔥🔥🔥 WaveCoder repo, models released at [🤗 HuggingFace]()!\n- [2023/12/26] WaveCoder paper released.\n\n## 💡 Introduction\n\nWaveCoder 🌊 is a series of large language models (LLMs) for the coding domain, designed to solve relevant problems in the field of code through instruction-following learning. Its training dataset was generated from a subset of code-search-net data using a generator-discriminator framework based on LLMs that we proposed, covering four general code-related tasks: code generation, code summary, code translation, and code repair.\n\n| Model                                                                                                                         | HumanEval | MBPP(500) | HumanEval\u003cbr\u003eFix(Avg.) | HumanEval\u003cbr\u003eExplain(Avg.) |\n| ----------------------------------------------------------------------------------------------------------------------------- | --------- | --------- | ---------------------- | -------------------------- |\n| GPT-4                                                                                                                         | 85.4      | -         | 47.8                   | 52.1                       |\n| [\u003cimg src=\"./imgs/logo//wave.png\" width=\"16\" alt=\"\" /\u003e WaveCoder-DS-6.7B](https://github.com/microsoft/WaveCoder)             | 65.8      | 63.0      | 49.5                   | 40.8                       |\n| [\u003cimg src=\"./imgs/logo//wave.png\" width=\"16\" alt=\"WaveCoder\" /\u003e WaveCoder-Pro-6.7B](https://github.com/microsoft/WaveCoder)   | 74. 4     | 63.4      | 52.1                   | 43.0                       |\n| [\u003cimg src=\"./imgs/logo//wave.png\" width=\"16\" alt=\"WaveCoder\" /\u003e WaveCoder-Ultra-6.7B](https://github.com/microsoft/WaveCoder) | 79.9      | 64.6      | 52.3                   | 45.7                       |\n\n### LLM-based Generator-Discriminator\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./imgs/main//gen-dis.png\" width=\"800\"\u003e\n    \u003cbr\u003e\n    \u003cem\u003eFigure 2: Main framwork of LLM-based Generator-Discriminator.\u003c/em\u003e\n\u003c/p\u003e\n\n### Example of Instruction Generation\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./imgs/main//example.png\" width=\"800\"\u003e\n    \u003cbr\u003e\n    \u003cem\u003eFigure 3: An Example of Our Data Generation.\u003c/em\u003e\n\u003c/p\u003e\n\n### Data Decontamination\n\nWe combine our dataset with the decontaminated [evol-codealpaca-v1](https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1) dataset (WaveCoder-evol-instruct) to train WaveCoder-Ultra-6.7B.\n\n\u003c!-- \u003cfigure class=\"half\"\u003e\n  \u003cimg src=\"./imgs/leakage//humaneval_leakage.png\" width=\"320\"\u003e\n  \u003cimg src=\"./imgs/leakage//mbpp_leakage.png\" width=\"320\"\u003e\n  \u003cbr\u003e\n\u003c/figure\u003e --\u003e\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"./imgs/leakage//humaneval_leakage.png\" width=\"400\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"./imgs/leakage//mbpp_leakage.png\" width=\"400\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## 🚀 Quick Start\n\n### ⚙️ Setup\n\nWe recommend using [Conda](https://docs.conda.io/projects/miniconda) to manage your environment. Run the following commands to setup your environment:\n\n```sh\nconda create -n wavecoder python=3.9\nconda activate wavecoder\ncd src\npip install -r requirements.txt\npip install transformers==4.34.1\npip install flash-attn==2.5.5\n```\n\n### ⚡️ Training\n\nWe also open-source our complete training scripts for the community, and you may construct your own dataset for training. Our training scripts refer to [Fastchat](https://github.com/lm-sys/FastChat)\n\nTo train a model, run the following command:\n\n```sh\ncd src\nbash script/train.sh\n```\n\n### ⚖️ Evaluation\n\n- For [HumanEval](https://huggingface.co/datasets/openai_humaneval) benchmark, we use the code base from [Evalplus](https://github.com/evalplus/evalplus). We recommend using the code base from [Magicoder](https://github.com/ise-uiuc/magicoder) and the following command to reproduce the HumanEval result of WaveCoder.\n\n```sh\nMODEL_KEY=deepseek-ai/deepseek-coder-6.7b-base\nMODEL=microsoft/wavecoder-ultra-6.7b\n\nDATASET=humaneval\nSAVE_PATH=evalplus-$(basename $MODEL)-$DATASET.jsonl\nSANITIZED_PATH=humaneval_result/evalplus-$(basename $MODEL)-$DATASET-sanitized.jsonl\n\npython -m experiments.text2code \\\n  --model_key $MODEL_KEY \\\n  --model_name_or_path $MODEL \\\n  --save_path $SAVE_PATH \\\n  --dataset $DATASET \\\n  --temperature 0.0 \\\n  --top_p 1.0 \\\n  --max_new_tokens 512 \\\n  --n_problems_per_batch 28 \\\n  --n_samples_per_problem 1 \\\n  --n_batches 1\n\necho \"$MODEL\"\nevalplus.evaluate --dataset $DATASET --samples $SAVE_PATH\n```\n\n- For MBPP (500), you can get generations by running the following command:\n\n```sh\ncd src\nbash script/generate.sh\n```\n\nand then get a pass_k score and the error type analysis by running the following command:\n\n```sh\nbash script/evaluate.sh\n```\n\n- For HumanEvalFix and HumanEvalExplain benchmarks, we use the code base from [bigcode-evaluation-harness](https://github.com/bigcode-project/bigcode-evaluation-harness).\n\n### 🌲 Data Generation\n\nFirstly, you should prepare your raw code data and save it as .jsonl file, then you can run the following command:\n\n```sh\ncd src\nbash script/coreset.sh\n```\n\nto get the coreset of you raw data. Once you get the coreset, you can run\n\n```sh\ncd src\nbash script/data_generate.sh\n```\n\nto launch the LLM-based Generator-Discriminator framework. You can customize your data by controlling the prompt and the configurations in the above .sh script.\n\n## 📖 License\n\nThis code repository is licensed under the MIT License. The use of DeepSeek Coder models is subject to the its [License](https://github.com/deepseek-ai/DeepSeek-Coder/blob/main/LICENSE-MODEL).\n\n## ☕️ Citation\n\nIf you find this repository helpful, please consider citing our paper:\n\n```\n@article{yu2023wavecoder,\n  title={Wavecoder: Widespread and versatile enhanced instruction tuning with refined data generation},\n  author={Yu, Zhaojian and Zhang, Xin and Shang, Ning and Huang, Yangyu and Xu, Can and Zhao, Yishujie and Hu, Wenxiang and Yin, Qiufeng},\n  journal={arXiv preprint arXiv:2312.14187},\n  year={2023}\n}\n```\n\n## 🍀 Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\n\nResources:\n\n- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)\n- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)\n- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns\n\n## ✨ Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=microsoft/WaveCoder\u0026type=Date)](https://star-history.com/#microsoft/WaveCoder\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2FWaveCoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2FWaveCoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2FWaveCoder/lists"}