CodeGen简介
CodeGen是Salesforce AI研究团队开发的一系列开源大型语言模型,专门用于程序合成。它在TPU-v4上训练,性能可与OpenAI Codex相媲美。CodeGen可以将自然语言描述转换为可执行代码,大大提高了编程效率。
官方资源
- GitHub仓库 - CodeGen的官方代码仓库
- Hugging Face模型 - 在Hugging Face上发布的CodeGen预训练模型
- Jaxformer库 - 用于数据预处理、训练和微调CodeGen模型的库
论文
- CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesis
- CodeGen2: Lessons for Training LLMs on Programming and Natural Languages
模型版本
CodeGen目前有三个主要版本:
- CodeGen 1.0 (2022年初发布)
- CodeGen 2.0 (2023年初发布)
- CodeGen 2.5 (2023年7月发布)
最新的CodeGen 2.5版本在只有7B参数的情况下,性能可以超越16B参数的大模型。
使用示例
以下是使用CodeGen 2.5模型的Python示例代码:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Salesforce/codegen25-7b-mono", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Salesforce/codegen25-7b-mono")
inputs = tokenizer("# this function prints hello world", return_tensors="pt")
sample = model.generate(**inputs, max_length=128)
print(tokenizer.decode(sample[0]))
相关文章
- Inside CodeGen, Our In-House Open-Source LLM - Salesforce开发者博客上的CodeGen深度解析文章
- Salesforce CodeGen Unpacked: Written English Phrases Become Executable Code with Conversational AI - Salesforce新闻网站上的CodeGen介绍
总结
CodeGen作为一个强大的开源程序合成AI模型,为开发者提供了高效的编程辅助工具。通过学习本文汇总的资料,读者可以快速上手使用CodeGen,并深入了解其背后的技术原理。随着AI编程助手的不断发展,CodeGen无疑将在未来的软件开发中发挥越来越重要的作用。