🚀 CodeT5 (大尺寸模型 770M)
CodeT5是一系列用于代码处理的编码器 - 解码器语言模型,旨在解决代码理解和生成的相关问题,为开发者提供强大的代码处理能力。
🚀 快速开始
此模型可使用 T5ForConditionalGeneration
功能轻松加载:
from transformers import AutoTokenizer, T5ForConditionalGeneration
tokenizer = AutoTokenizer.from_pretrained("Salesforce/codet5-large")
model = T5ForConditionalGeneration.from_pretrained("Salesforce/codet5-large")
text = "def greet(user): print(f'hello <extra_id_0>!')"
input_ids = tokenizer(text, return_tensors="pt").input_ids
generated_ids = model.generate(input_ids, max_length=8)
print(tokenizer.decode(generated_ids[0], skip_special_tokens=True))
✨ 主要特性
📚 详细文档
训练数据
CodeT5-large 在 CodeSearchNet 数据集上进行预训练,该数据集包含六种编程语言(Ruby/JavaScript/Go/Python/Java/PHP)。更多详细信息请参阅 论文 的第4.1节。
训练过程
CodeT5-large 使用掩码跨度预测目标进行了150个周期的预训练。更多详细信息请参阅 论文 的第4.1节。
评估结果
我们在 CodeXGLUE 基准测试中验证了使用简化策略预训练的此检查点的有效性。更多详细信息请参阅 论文 的附录A.1。
道德考量
本次发布仅用于支持学术论文的研究目的。我们的模型、数据集和代码并非专门为所有下游用途而设计或评估。我们强烈建议用户在部署此模型之前,评估并解决与准确性、安全性和公平性相关的潜在问题。我们鼓励用户考虑人工智能的常见局限性,遵守适用法律,并在选择用例时遵循最佳实践,特别是在错误或滥用可能对人们的生活、权利或安全产生重大影响的高风险场景中。有关用例的更多指导,请参阅我们的AUP和AI AUP。
📄 许可证
本项目采用BSD 3条款许可证。
📚 引用信息
@inproceedings{CodeT52021,
author = {Yue Wang and Weishi Wang and Shafiq R. Joty and Steven C. H. Hoi},
title = {CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation},
booktitle = {EMNLP},
pages = {8696--8708},
publisher = {Association for Computational Linguistics},
year = {2021}
}
@article{CodeRL2022
author = {Hung Le, Yue Wang, Akhilesh Deepak Gotmare, Silvio Savarese, Steven C.H. Hoi},
title = {CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning},
journal = {arXiv preprint},
volume = {abs/2207.01780},
year = {2022}
}