GPT2/README.md

83 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2024-07-18 13:38:25 +00:00
# GPT2
原作者Andrej Karpathy @ https://github.com/karpathy/llm.c
## 背景
GPT 很酷,能不能在我自己的电脑上跑一个呢?当然可以!
![](show.gif)
2024-08-12 13:32:45 +00:00
请按照下面的指示来完成自己的 GPT2 吧!
2024-07-18 13:38:25 +00:00
2024-08-12 13:32:45 +00:00
## 安装依赖
完成本题需要 GNU Make、GCC、Python3。请先使用你的 Linux 发行版的包管理器完成安装。
例如,如果你是 Ubuntu可以使用下面的命令完成安装。
```bash
sudo apt install build-essential python3
```
接着你需要安装 `tiktoken` Python 包,可以使用下面的命令完成安装。
```bash
make install
```
## 下载并检查模型
[这里](https://alist.yaossg.com/share/model/gpt2_124M.bin)有我提供的 GPT2 的预训练模型,请下载后把该模型放在本仓库目录下,并执行下面的命令进行检查。
2024-07-18 13:38:25 +00:00
```bash
2024-08-12 13:32:45 +00:00
$ make check
Checking your model...
Model is OK
2024-07-18 13:38:25 +00:00
```
2024-08-12 13:32:45 +00:00
如果不出意外,会出现上面的结果,表示模型正常。
2024-07-18 13:38:25 +00:00
## 编译
2024-08-12 13:32:45 +00:00
如果你需要调试你的程序,可以使用下面的命令进行编译。
```bash
make debug
```
调试完毕后用这个编译更快的版本!
2024-07-18 13:38:25 +00:00
```bash
2024-08-12 13:32:45 +00:00
make release
2024-07-18 13:38:25 +00:00
```
## 运行
2024-08-12 13:32:45 +00:00
完成编译之后,就可以运行你的程序了!
```bash
make run
```
如果你非常懒,可以用下面这个命令一键编译运行:
2024-07-18 13:38:25 +00:00
```bash
2024-08-12 13:32:45 +00:00
make
2024-07-18 13:38:25 +00:00
```
## 目标
你可能已经发现了,你的程序可能并没有我演示的跑的那么快(~~神机请忽略~~)。
你的目标就是优化该程序的性能,在保证结果不变的情况下更快的完成文本的补全。
我会使用一些测试点来评测你的程序的正确性和执行时间。期待更高的效率和更多样的优化方案。
此外,请在 wp 中回答下面的问题:
- 什么是阿姆达尔定律?根据阿姆达尔定律,我们应该把优化的重点放在哪里?
- 你的优化方案和思路是什么?优化的效果受到哪些因素影响?