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

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