GPT2/README.md
2024-08-12 21:32:45 +08:00

83 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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