hengyuan
V1
2023/02/24阅读:14主题:嫩青
AlphaCode
1.Dataset
1.1 Training
1.1.1 Pre-training Dataset
-
收集的是 Github 上 2021 年 7 月 14 号之前的代码,语言涉及: C++, C#, Go, Java, JavaScript, Lua, PHP, Python, Ruby, Rust, Scala, and TypeScript. -
和之前 CodeX 一样,也是只选 1MB 大小以下的文件,然后 1000 行代码以下的,最终得到 715.1 GB 的 code 数据

1.1.2 Fine-tuning Dataset
-
从 CodeContests (类似 Leetcode 平台) 上抓取下来的数据,entiry 包括 problems, solutions and test cases


-
数据地址,数据集大概在 2G 左右
1.2 Evaluation
-
把另一个竞赛平台 (codeforces) 上的题目作为验证集
2.Method
-
先 Pre-training, 然后再 Fine-tuning, 预训练使用的是从 GitHub 爬下来的 Pre-training Dataset, Fine-tuning 用的是 CodeContests dataset -
AlphaCode 采用的是 Encoder-Decoder 的架构,因为他主要是为了设计来做题的,Encoder 接受的是题目描述,输出是代码 -
在预训练阶段,采用的是 continuous text generation 任务,就是代码一半给 Encoder, 另一个作为 target 让模型去生成,用的 MLE Loss 进行训练 -
Fine-tuning 阶段就是输入给 Encoder 题目描述,然后 Decoder 解码出代码的 MLE Loss 训练
3.Other
-
用 SentencePiece 算法训练了自己的 Tokenizer
4.Released Models
-
但是模型没有开源 -
300M, 1B, 3B, 9B, 41B
作者介绍
hengyuan
V1