# 《AI 研发提效研究:自己动手训练 LoRA》
声明:本项目提供的数据集、LoRA 二进制,皆为 OpenAI 生成或网上公开项目。我们仅提供了模型训练相关教程,使用者实际训练的内容所造成的一切后果由使用者本人负责。
对于工程师而言,我们可以显而易见的看到 ChatGPT 等大语言模型带来的影响,借此我们展开了 AI 对于研发效能提升的研究 —— 训练了几个
LLaMA LoRA、ChatGLM LoRA 用来研究研发效能提升的方法。
这个项目是我们的研究成果,包括了一些视频介绍、训练好的模型、训练代码、训练数据、训练过程中的一些记录。
训练完的 LoRA 见 Release。
训练 Notebook:
- [LLaMA Alpaca LoRA](alpaca-lora.ipynb)
- [ChatGLM Tuning LoRA](chatglm-tuning.ipynb)
LLaMA 系列在线视频:
- 《[代码辅助生成](https://www.bilibili.com/video/BV1Rh411u74H/)》
- 《[测试代码生成](https://www.bilibili.com/video/BV1jg4y1G7Xc/)》
- 《[详细需求生成](https://www.bilibili.com/video/BV1Us4y1N7rd/)》
- 《[文本转 SQL](https://www.bilibili.com/video/BV1uv4y1H7bg/)》
ChatGLM 系列在线视频:
- 《[LoRA 大比拼:ChatGLM vs LLaMA,谁更会写需求文档?](https://www.bilibili.com/video/BV1fv4y1n7Y3/)》
目录:
1. [《AI 研发提效研究:自己动手训练 LoRA》](#%E3%80%8Aai-%E7%A0%94%E5%8F%91%E6%8F%90%E6%95%88%E7%A0%94%E7%A9%B6%EF%BC%9A%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E8%AE%AD%E7%BB%83-lora%E3%80%8B)
1. [Introduction](#introduction)
1. [Roadmap](#roadmap)
2. [Sponsors](#sponsors)
2. [总结设计:流程标准化](#%E6%80%BB%E7%BB%93%E8%AE%BE%E8%AE%A1%EF%BC%9A%E6%B5%81%E7%A8%8B%E6%A0%87%E5%87%86%E5%8C%96)
1. [研发效能](#%E7%A0%94%E5%8F%91%E6%95%88%E8%83%BD)
2. [Unit Mesh](#unit-mesh)
3. [数据准备](#%E6%95%B0%E6%8D%AE%E5%87%86%E5%A4%87)
1. [折分任务 + 用户故事生成](#%E6%8A%98%E5%88%86%E4%BB%BB%E5%8A%A1-+-%E7%94%A8%E6%88%B7%E6%95%85%E4%BA%8B%E7%94%9F%E6%88%90)
1. [步骤 1. 生成用户任务](#%E6%AD%A5%E9%AA%A4-1.-%E7%94%9F%E6%88%90%E7%94%A8%E6%88%B7%E4%BB%BB%E5%8A%A1)
2. [步骤 2. 分解用户任务为用户故事](#%E6%AD%A5%E9%AA%A4-2.-%E5%88%86%E8%A7%A3%E7%94%A8%E6%88%B7%E4%BB%BB%E5%8A%A1%E4%B8%BA%E7%94%A8%E6%88%B7%E6%95%85%E4%BA%8B)
2. [代码辅助生成](#%E4%BB%A3%E7%A0%81%E8%BE%85%E5%8A%A9%E7%94%9F%E6%88%90)
1. [步骤 1. 准备数据](#%E6%AD%A5%E9%AA%A4-1.-%E5%87%86%E5%A4%87%E6%95%B0%E6%8D%AE)
2. [步骤 2. 生成指令](#%E6%AD%A5%E9%AA%A4-2.-%E7%94%9F%E6%88%90%E6%8C%87%E4%BB%A4)
3. [类信息格式](#%E7%B1%BB%E4%BF%A1%E6%81%AF%E6%A0%BC%E5%BC%8F)
4. [其它:核心代码逻辑](#%E5%85%B6%E5%AE%83%EF%BC%9A%E6%A0%B8%E5%BF%83%E4%BB%A3%E7%A0%81%E9%80%BB%E8%BE%91)
3. [测试代码生成](#%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90)
1. [步骤 1. 生成测试代码](#%E6%AD%A5%E9%AA%A4-1.-%E7%94%9F%E6%88%90%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81)
2. [步骤 2. 借助 OpenAI Davinci 编写实现代码(可选)](#%E6%AD%A5%E9%AA%A4-2.-%E5%80%9F%E5%8A%A9-openai-davinci-%E7%BC%96%E5%86%99%E5%AE%9E%E7%8E%B0%E4%BB%A3%E7%A0%81%EF%BC%88%E5%8F%AF%E9%80%89%EF%BC%89)
4. [文本转代码](#%E6%96%87%E6%9C%AC%E8%BD%AC%E4%BB%A3%E7%A0%81)
5. [文本生成 repository](#%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90-repository)
1. [数据准备](#%E6%95%B0%E6%8D%AE%E5%87%86%E5%A4%87)
2. [输出示例:](#%E8%BE%93%E5%87%BA%E7%A4%BA%E4%BE%8B%EF%BC%9A)
6. [领域知识](#%E9%A2%86%E5%9F%9F%E7%9F%A5%E8%AF%86)
4. [训练与结果](#%E8%AE%AD%E7%BB%83%E4%B8%8E%E7%BB%93%E6%9E%9C)
1. [基于 Meta 的 Llama 训练 LoRA](#%E5%9F%BA%E4%BA%8E-meta-%E7%9A%84-llama-%E8%AE%AD%E7%BB%83-lora)
1. [训练 1:测试代码生成](#%E8%AE%AD%E7%BB%83-1%EF%BC%9A%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90)
2. [训练 2:拆分用户故事](#%E8%AE%AD%E7%BB%83-2%EF%BC%9A%E6%8B%86%E5%88%86%E7%94%A8%E6%88%B7%E6%95%85%E4%BA%8B)
3. [训练 3:代码辅助](#%E8%AE%AD%E7%BB%83-3%EF%BC%9A%E4%BB%A3%E7%A0%81%E8%BE%85%E5%8A%A9)
4. [SQL 转代码](#sql-%E8%BD%AC%E4%BB%A3%E7%A0%81)
2. [基于清华大学的 ChatGLM 训练 LoRA](#%E5%9F%BA%E4%BA%8E%E6%B8%85%E5%8D%8E%E5%A4%A7%E5%AD%A6%E7%9A%84-chatglm-%E8%AE%AD%E7%BB%83-lora)
1. [代码生成](#%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90)
2. [测试生成](#%E6%B5%8B%E8%AF%95%E7%94%9F%E6%88%90)
3. [用户故事生成](#%E7%94%A8%E6%88%B7%E6%95%85%E4%BA%8B%E7%94%9F%E6%88%90)
## Introduction
相关数据转换参见:[https://github.com/unit-mesh/minions-data-prepare](https://github.com/unit-mesh/minions-data-prepare)
PS:如果你需要的是更好的代码生成,建议采用:[https://huggingface.co/Salesforce/codegen-16B-mono](https://huggingface.co/Salesforce/codegen-16B-mono)
### 云 GPU
我们使用的是 OpenBayes 提供的云 GPU:https://openbayes.com/console/signup?r=phodal_uVxU
OpenBayes 模型可以使用:
- llamba-7b-hf:https://openbayes.com/console/open-tutorials/models/LHney50G1TB/1/overview
- chatglm-6b: https://openbayes.com/console/open-tutorials/models/D24PPO2ItU4/1/overview
### Roadmap
Roadmap:
- 训练:领域知识(Done)
- 训练:测试代码生成(Done)
- 训练:生成用户故事(Done)
- 训练:代码辅助生成(Done)
- 训练:SQL 转换(Done)
- 训练:文本转代码(Done)
- 训练:……
- 训练:生成 Unit Mesh 的代码块
### Sponsors
Thanks: [AIOS Club](https://github.com/aios-chat) for OpenAI Key,
Thanks [OpenBayes](https://openbayes.com/console/signup?r=phodal_uVxU) for Cloud GPU
<a href="https://github.com/gzzengwei"><img src="https://avatars.githubusercontent.com/u/656662?s=70&v=4" width="30px" alt="gzzengwei" /></a>
<a href="https://github.com/trampboy"><img src="https://avatars.githubusercontent.com/u/2819756?s=70&v=4" width="30px" alt="trampboy" /></a>
<a href="https://github.com/daochouwangu"><img src="https://avatars.githubusercontent.com/u/4903149?s=120&v=4" width="30px" alt="daochouwangu" /></a>
<a href="https://github.com/xuzongbao"><img src="https://avatars.githubusercontent.com/u/12446449?s=70&v=4" width="30px" alt="xuzongbao" /></a>
<a href="https://github.com/stevenchendan"><img src="https://avatars.githubusercontent.com/u/30310671?s=70&v=4" width="30px" alt="stevenchendan" /></a>
<a href="https://github.com/coderprepares"><img src="https://avatars.githubusercontent.com/u/66911083?s=64&v=4" width="30px" alt="coderprepares" /></a>
<a href="https://github.com/go-maple"><img src="https://avatars.githubusercontent.com/u/97354215?s=64&v=4" width="30px" alt="go-maple" /></a>
<a href="https://github.com/aios-chat"><img src="https://avatars.githubusercontent.com/u/126129567?v=4" width="30px" alt="aios-chat" /></a>
PS:训练烧钱……(调用 OpenAI 生成数据、云 GPU),如果你觉得帮到你,可以通过以下方式,资助我们继续往前。
<table>
<tr>
<td><img src="images/alipay.pic.jpg" alt="1" width = 240px ></td>
<td><img src="images/zsxq.pic.jpg" alt="2" width = 240px ></td>
</tr>
</table>
# 总结设计:流程标准化
AI 感性提效依赖于对研发效能的标准化,并尽可能细地拆分每一个步骤。
## 研发效能
为了训练的结果更加准确,我们详细拆分了软件开发的步骤,以确保每一步生成的是准确,进而驱动出准确的结果。如下是我们早期拆分的一小部分细流程的示例:
- split_user_story_tasks
- create_agile_user_story
- design_restful_api
- design_plantuml_java_datastructure
- implementation_mock_mvc_test
- implementation_spring_controller
- implementation_controller_test
- implementation_spring_service
- ….
我们需要拆分到每一个尽可能小的步骤,在每一个细化的步骤里,喂入数据,才会让 AI 产生最大的复读机效果。
## Unit Mesh
Todos
# 数据准备
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
《AI 研发提效研究:自己动手训练 LoRA》,包含 Llama (Alpaca LoRA)模型、ChatGLM (ChatGLM Tuning)相关 Lora 的训练。训练内容:用户故事生成、测试代码生成、代码辅助生成、文本转 SQL、文本生成代码…….zip
资源推荐
资源详情
资源评论
收起资源包目录
《AI 研发提效研究:自己动手训练 LoRA》,包含 Llama (Alpaca LoRA)模型、ChatGLM (ChatGLM Tuning)相关 Lora 的训练。训练内容:用户故事生成、测试代码生成、代码辅助生成、文本转 SQL、文本生成代码…….zip (93个子文件)
unit-minions-master
chatglm-tuning.ipynb 220KB
.openbayesdata 3B
output
alpaca
codegen-20k.ipynb 18KB
codegen-40k.ipynb 24KB
testgen.ipynb 10KB
text-to-sql.ipynb 3KB
codegen-40k-2.ipynb 60KB
text-to-repository.ipynb 4KB
codegen-10k.ipynb 16KB
userstory.ipynb 12KB
logs
text-to-sql-alpaca-lora.ipynb 43KB
chatglm
split-users-tasks.ipynb 8KB
userstory.ipynb 9KB
datasets
sql
repositories-5k.jsonl 5.42MB
repository-3k.jsonl 3.32MB
sql-train-8k.jsonl 1.37MB
prompts.json 2.91MB
repository-5k.jsonl 5.18MB
types.json 560KB
sql-train.csv 6.88MB
.gitignore 43B
llm-prompts.json 1.73MB
sql-train.jsonl 9.91MB
merge-jsonl.py 3KB
codegen
codegen_40k.jsonl.zip 8.7MB
codegen_100k.jsonl.zip 18.86MB
codegen_20k.jsonl.zip 5.86MB
codegen.jsonl 39.05MB
text-to-code
java-train.jsonl 5.27MB
java.jsonl 11.5MB
test-code
test-to-code.jsonl 13.97MB
test_to_code_output.jsonl 24.82MB
test_to_code_origin.jsonl 30.62MB
swagger
swagger_to_userstory_output.jsonl 375KB
.gitignore 15B
userstory
userstory_map.jsonl 117KB
userstory_detail.jsonl 3.56MB
userstory_detail_double_clean.jsonl 2.73MB
userstory_detail_double_clean_cn.jsonl 1.62MB
userstory_detail_clean.jsonl 2.73MB
userstory_to_api_output.jsonl 371KB
CNAME 18B
debug
04-08-freeze.txt 4KB
chatglm-ptuning.ipynb 112KB
.openbayesignore 24B
04-08-requirements.txt 177B
.gitignore 6B
alpaca-lora.ipynb 11KB
images
copilot-elements.png 293KB
zsxq.pic.jpg 71KB
alpaca-user-story-lora.jpeg 286KB
alipay.pic.jpg 235KB
test-process.jpeg 182KB
demos
blog
data
0950-unit-mesh.md 15KB
0952-unit-runtime.md 7KB
0953-llm-lora-solution-for-ee.md 11KB
0947-realtime-softare-gen.md 15KB
0951-prompt-as-code.md 12KB
0948-ai-programming.md 14KB
0949-chatflow.md 7KB
TestEssay.ipynb 22KB
index.json 229KB
README.md 895B
fintech
demo.jsonl 26KB
csv-to-json.py 263B
1000-steps.ipynb 3KB
demo.csv 13KB
3000-steps.ipynb 5KB
merge-demo.jsonl 261KB
autocomplete-sql
.gitkeep 0B
README.md 231B
domain
domain.ipynb 7KB
pdf-to-text.py 4KB
testsets
2017-10-10-005230.OF---长盛货币B-长盛货币市场基金托管协议.pdf 494KB
2016-07-13-002958.OF---财通财通宝B-财通宝AB:招募说明书.pdf 1.2MB
2017-02-10-000830.OF---易方达天天发B-易方达天天发货币市场基金基金合同.pdf 798KB
2017-04-06-004494.OF---华泰保兴货币B-华泰保兴货币市场基金:基金合同.pdf 381KB
2014-03-10-519567.OF---浦银安盛日日盈B-浦银日日盈:基金合同.pdf 463KB
2014-04-04-000605.OF---银华多利宝B-银华多利宝货币市场基金份额发售公告.pdf 285KB
2016-12-16-004121.OF---兴银现金添利A-华福现金添利货币市场基金托管协议.pdf 505KB
2021-07-14-080011.OF---长盛货币A-长盛货币市场基金招募说明书更新.pdf 931KB
2015-06-12-001478.OF---泰康薪意保B-泰康薪意保:托管协议.pdf 395KB
2015-06-12-001477.OF---泰康薪意保A-泰康薪意保:基金合同.pdf 941KB
requirements.txt 6B
.gitignore 32B
README.md 27KB
code
text-to-repository.py 1KB
text-to-code.py 623B
test_to_code.md 242B
test-to-code.py 3KB
text-to-sql.py 836B
apps
userstory
chatglm
chatglm-web
app.py 4KB
requirements.txt 71B
共 93 条
- 1
资源评论
LeapMay
- 粉丝: 5w+
- 资源: 2303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】在线考试与学习交流网页平台源码(springboot+vue+mysql+说明文档+LW).zip
- iperf3-with-timestamp-Linux-shell-cli
- SpringBoot期末项目修仙教务系统.zip,Springboot+MyBatis+Layui+Jquery【含sql文件】
- 鸿蒙音乐App.zip-2024
- vip-2024.1129.-4 - iperf3-with-timestamp-Linux-shell-ser
- 【java毕业设计】线上辅导班系统的开发与设计源码(springboot+vue+mysql+说明文档+LW).zip
- CEPII地理距离数据中的国家代码
- 自动从pdf提取结构化目录
- 【java毕业设计】医院资源管理系统源码(springboot+vue+mysql+说明文档+LW).zip
- 毕业设计基于YOLOV5头部检测+DeepSort的行人跟踪+DFLD的性别和年龄检测统计分析项目源码
- 公开整理-省人口密度数据集(2000-2023年) .xlsx
- 公开整理-市人口密度数据集(2000-2023年) .xlsx
- 公开整理-县人口密度数据集(2000-2023年) .xlsx
- 【java毕业设计】景区民宿预约系统的设计与实现源码(springboot+vue+mysql+说明文档+LW).zip
- 【java毕业设计】社区智慧养老监护管理平台设计与实现源码(springboot+vue+mysql+说明文档+LW).zip
- 【java毕业设计】公交线路查询系统源码(springboot+vue+mysql+说明文档+LW).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功