@zhongdao
2023-04-03T23:17:36.000000Z
字数 14801
阅读 591
未分类
ChatGPT为啥这么强:万字长文详解 by WolframAlpha之父 - 量子位的文章 - 知乎
https://zhuanlan.zhihu.com/p/606817644
训练一个接近 GPT-3 性能的模型需要大量的计算资源和时间。GPT-3 有 1750 亿个参数,目前个人难以在短时间内(数分钟或一天内)完成训练。然而,有一些开源项目可以帮助你训练较小的 GPT 模型,它们可能在个人硬件上训练时间较短。
Hugging Face Transformers: 这是一个非常流行的 NLP 库,提供了许多预训练模型,包括 GPT-2 和 GPT-3 的较小版本。Hugging Face 提供了详细的文档,包括如何在单机和多机环境下训练模型。你可以从这里查看官方文档:https://huggingface.co/transformers/training.html
Megatron: 这是一个由 NVIDIA 开发的大型语言模型训练库,旨在实现高效的多 GPU 训练。它支持 GPT 类型的模型。虽然它主要用于大型模型,但你可以使用较少的参数来训练较小的 GPT 模型。Megatron 的官方 GitHub 仓库(包括教程)可以在这里找到:https://github.com/NVIDIA/Megatron-LM
要训练一个能在数分钟或不超过一天内完成训练的 GPT 模型,你可能需要使用更小的模型(例如 GPT-2 的 DistilGPT2 或 GPT-2 small)和较小的数据集。请注意,这些模型的性能可能不会接近 GPT-3,但它们仍然可以在许多任务上表现得相当不错。在个人硬件上训练这些模型可能更加现实。
关于训练 GPT-2 模型的教程,Hugging Face 提供了一个详细的博客文章:https://huggingface.co/blog/how-to-train
此外,对于 GPT-3,由于其规模和训练成本,OpenAI 尚未完全开源。因此,目前无法在个人硬件上训练 GPT-3 级别的模型。
由于 GPT(Generative Pre-trained Transformer)主要由 OpenAI 开发,并受到其知识产权保护,没有太多其他完全独立的 GPT 项目。然而,可以找到一些基于 GPT 的项目、类似 GPT 的项目,以及支持 GPT 模型的框架。以下是一些相关的开源项目:
Hugging Face Transformers(开源):一个非常流行的开源 NLP 库,提供了许多预训练模型,包括 GPT-2 和 GPT-3 的变体。支持多种语言。https://github.com/huggingface/transformers
OpenAI GPT-2(开源):OpenAI 发布的 GPT-2 模型,包括不同大小的变体。GPT-2 支持多种语言,但以英语为主。https://github.com/openai/gpt-2
OpenAI GPT-3(部分开源):GPT-3 模型未完全开源,但 OpenAI 提供了一个 API,允许用户通过 API 使用 GPT-3。支持多种语言。https://beta.openai.com/
Megatron(开源):NVIDIA 开发的用于训练大型语言模型的库,支持类似 GPT 的架构。虽然没有明确的预训练 GPT 模型,但可以用于训练自己的 GPT 类型模型。https://github.com/NVIDIA/Megatron-LM
EleutherAI GPT-Neo(开源):EleutherAI 开发的类似 GPT 的大型预训练模型,旨在模仿 GPT-3 的性能。支持多种语言。https://github.com/EleutherAI/gpt-neo
EleutherAI GPT-NeoX(开源):一个用于训练超大型模型的开源项目,灵感来自 GPT-3 和 Megatron。尚未发布预训练模型。https://github.com/EleutherAI/gpt-neox
OpenWebText2(开源):一个用于训练 GPT 类型模型的大型文本数据集,与 GPT-3 使用的 WebText 数据集类似。可以用于训练自己的 GPT 模型。https://github.com/EleutherAI/openwebtext2
BERT(开源):虽然不是 GPT,但 BERT(Bidirectional Encoder Representations from Transformers)是另一种非常流行的预训练 NLP 模型,由 Google 开发。BERT 支持多种语言。https://github.com/google-research/bert
T2T(Tensor2Tensor,开源):Google 发布的一个深度学习框架,可以训练类似 GPT 的 Transformer 模型。支持多种语言。https://github.com/tensorflow/tensor2tensor
fairseq(开源):Facebook AI Research 开发的一个序列到序列学习框架,支持多种 NLP 和语音任务。虽然 fairseq 主要关注其他 Transformer 模型(例如 BART 和 RoBERTa),但它也可以用于训练和部署类似 GPT 的模型。支持多种语言。https://github.com/pytorch/fairseq
请注意,许多这些项目都提供了预训练的 GPT 模型或支持训练自己的 GPT 模型。同时,它们支持多种语言,包括英语、中文等。这些项目的文档和资源可以帮助您了解如何使用这些库训练和部署 GPT 模型以及如何根据您的需求定制这些模型。
Colossal-AI 是一个开源项目,用于训练和部署大型深度学习模型,如 GPT。该项目旨在简化分布式训练,充分利用现有的计算资源,提高训练速度和性能。以下是有关 Colossal-AI 的一些关键信息:
开源:是,Colossal-AI 是一个开源项目,您可以在其 GitHub 仓库中找到源代码和相关文档:https://github.com/Colossal-AI/colossalai
支持语言:Colossal-AI 作为一个深度学习框架,其本身不直接关注特定的预训练模型或语言。然而,它支持使用类似 GPT 的模型进行训练,这些模型可以用于处理多种语言。
Colossal-AI 的核心特点包括:
易用性:提供简单的 API 和配置文件,以简化模型训练和部署。
分布式训练:支持多种分布式训练策略,如数据并行、模型并行和管道并行,以提高大型模型的训练速度和效率。
模型优化:包括混合精度训练、梯度累积和学习率调度等优化技术,以提高训练性能。
高度可定制:支持自定义模型、数据集和训练策略,以满足不同应用场景的需求。
社区支持:Colossal-AI 作为一个开源项目,其开发者和用户社区可以提供问题解答和最佳实践分享。
总之,Colossal-AI 是一个用于训练和部署大型深度学习模型(如 GPT)的强大框架,提供了易用的 API 和高度可定制的选项。虽然它不直接关注特定的预训练模型或语言,但它支持使用类似 GPT 的模型进行训练,这些模型可以用于处理多种语言。
Colossal-AI 是一个深度学习框架,专注于简化分布式训练,尤其是大型模型。与 GPT-2、GPT-3、Hugging Face Transformers 和 Megatron 相比,Colossal-AI 在目标和功能上存在一定差异。
GPT-2 和 GPT-3:这两个项目分别是 OpenAI 开发的 GPT-2 和 GPT-3 模型。它们主要提供了预训练好的 GPT 模型,可用于各种 NLP 任务。与 Colossal-AI 不同,这两个项目的关注点在于提供预训练的 GPT 模型,而不是提供一个训练和部署深度学习模型的框架。
Hugging Face Transformers:这是一个非常流行的 NLP 库,提供了许多预训练的 Transformer 模型,包括 GPT-2 和 GPT-3。Hugging Face Transformers 的目标是简化各种 NLP 任务的实现,包括文本生成、分类、问答等。虽然它支持微调预训练模型,但它的关注点不在于大规模分布式训练。
Megatron:这是一个由 NVIDIA 开发的库,用于训练大型语言模型。Megatron 支持类似 GPT 的模型结构,但主要关注分布式训练和高性能计算。Megatron 和 Colossal-AI 的目标相似,都是为了简化大型模型的训练。然而,Megatron 更侧重于 NVIDIA 硬件和底层技术,而 Colossal-AI 试图为更广泛的硬件和应用提供支持。
与 GPT-2 和 GPT-3 相比,Colossal-AI 的目标是提供一个训练和部署深度学习模型的框架,而不是特定的预训练模型。与 Hugging Face Transformers 相比,Colossal-AI 更关注分布式训练和大型模型,而 Transformers 更关注预训练模型的应用。与 Megatron 相比,Colossal-AI 和 Megatron 的目标相似,但 Colossal-AI 旨在为更广泛的硬件和应用提供支持。
总之,Colossal-AI 是一个与其他 GPT 模型和库有不同关注点的框架。它主要关注简化分布式训练和大型模型的部署,而不是提供预训练的 GPT 模型或支持特定的 NLP 任务。根据您的需求和目标,您可能会发现 Colossal-AI 是一个有用的工具,特别是如果您需要在大规模硬件上训练和部署大型模型。
GPT-J 是 EleutherAI 开发的大型预训练 Transformer 模型。GPT-J 基于 GPT-3 的架构,但使用了不同的训练数据集,即 Jax-Tokens 数据集。Jax-Tokens 数据集包括了大量英文文本,如书籍、网页、科学文章等。以下是 GPT-J 和 GPT-3 的一些比较:
性能:GPT-J 在多个 NLP 基准测试中表现出色,甚至超过了 GPT-3。在 LAMBADA 语言建模任务和 SuperGLUE 基准测试中,GPT-J 的表现均优于 GPT-3。
训练数据:如前所述,GPT-J 使用 Jax-Tokens 数据集进行训练,而 GPT-3 使用 WebText 数据集。这两个数据集的来源和组成略有不同,可能影响模型的领域知识和性能表现。
开源程度:GPT-J 是一个完全开源的模型,EleutherAI 提供了预训练模型的权重文件和相关代码。与之相比,GPT-3 只提供了一个 API,而不是完全开源的模型。
社区支持:由于 EleutherAI 是一个开源研究组织,GPT-J 的开发和支持可能更接近研究社区,有更多关于模型性能优化和应用的讨论。而 GPT-3 的支持主要来自 OpenAI,可能更侧重于商业用途和 API 客户。
总之,GPT-J 和 GPT-3 在结构上非常相似,但 GPT-J 在一些 NLP 任务上的性能优于 GPT-3。此外,GPT-J 使用不同的训练数据,并且完全开源。根据您的需求和目标,您可能会发现 GPT-J 是一个有用的替代品,尤其是如果您需要一个完全开源的、性能优异的预训练模型。
3090单卡5小时,每个人都能训练专属ChatGPT,港科大开源LMFlow
https://mp.weixin.qq.com/s/LCGQyNA6sHcdfIIARSNlww
https://www.softkraft.co/gpt3-open-source-alternatives/
https://outsourceit.today/open-source-gpt-3-alternatives/
GPT fine-tune实战: 训练我自己的 ChatGPT - Uranus的文章 - 知乎 https://zhuanlan.zhihu.com/p/616504594
如何为GPT/LLM模型添加额外知识? - Uranus的回答 - 知乎 https://www.zhihu.com/question/591935281/answer/2956166127
五万字综述!Prompt-Tuning:深度解读一种新的微调范式 - kaiyuan的文章 - 知乎
https://zhuanlan.zhihu.com/p/618871247
https://zhuanlan.zhihu.com/p/609544962
GPT in 60 Lines of NumPy
https://jaykmody.com/blog/gpt-from-scratch/#basic-layers
An unnecessarily tiny implementation of GPT-2 in NumPy.
https://github.com/jaymody/picoGPT
小破本也能炼GPT!300行代码搞定,GitHub获6k星,来自特斯拉前AI总监 - 量子位的文章 - 知乎
https://zhuanlan.zhihu.com/p/600586039
前特斯拉 AI 高级总监、自动驾驶 Autopilot 负责人 Andrej Karpathy 发布了从零开始构建 GPT 模型的完整教程。
在长达近两小时的教学视频中,Karpathy 会教你根据 NLP 领域经典论文《Attention is All You Need》构建一个 transformer,再以此为基础完成一个类似 OpenAI 的 GPT-2 / GPT-3 的生成式预训练 GPT 模型。
该教学中提到的 GPT 模型是前几天 Andrej Karpathy 发布的 NanoGPT。它是对 minGPT 的重写,也是目前用于训练和微调中型尺度 GPT 最简单、最快的库。NanoGPT 代码设计目标是简单易读,其中 train.py 是一个约 300 行的代码;model.py 是一个约 300 行的 GPT 模型定义,它可以选择从 OpenAI 加载 GPT-2 权重。
目前该项目在 GitHub 上已经有超过 8000 的 Star 量:https://github.com/karpathy/nanoGPT
系列基础教程
https://karpathy.ai/zero-to-hero.html
视频的 Google colab:
https://colab.research.google.com/drive/1JMLa53HDuA-i7ZBmqV7ZnA3c_fvtXnx-?usp=sharing
GitHub:
https://github.com/karpathy/ng-video-lecture
视频链接:
https://www.youtube.com/watch?v=kCc8FmEb1nY&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ&index=7
仿照中文教程
https://bigeagle.me/2023/03/pico-gpt-1/
https://bigeagle.me/2023/03/pico-gpt-2/
图文并茂的讲解 transformer的讲解
https://theaisummer.com/transformer/
预训练模型是经过在大量数据上进行无监督训练的神经网络。这个过程使模型能够学习到丰富的语言知识和语义结构。预训练模型通常作为迁移学习的基础,可以在后续的特定任务上进行微调。这种方法的优势在于,预训练模型已经学到了通用的特征表示,因此在微调时所需的标注数据较少,训练时间也相对较短。
而一般训练(从头训练)是指在特定任务上,从随机初始化的权重开始训练模型。这种方法可能需要大量的标注数据和计算资源,因为模型需要从头学习所有的特征表示。
使用 GPT-J 在特定领域进行微调:
是的,您可以使用 GPT-J 在特定领域进行微调。通过在预训练模型的基础上进行微调,您可以让模型适应特定任务的需求。微调 GPT-J 的步骤大致如下:
准备数据:收集特定领域的标注数据。这些数据应该与您的任务需求相符。
选择模型:从 EleutherAI 提供的 GPT-J 预训练模型中选择一个合适的版本。您可以根据计算资源和性能要求选择不同大小的模型。
微调:使用您的标注数据对预训练的 GPT-J 进行微调。这个过程中,模型会在预训练的基础上学习特定领域的知识和特征。
评估和优化:在验证集上评估微调后的模型性能。根据需要,您可以进一步调整模型参数或训练策略。
应用:将微调后的 GPT-J 模型部署到实际应用中,如文本生成、分类、问答等。
使用 GPT-J 或类似的预训练模型进行微调,可以帮助您在特定任务上实现更好的性能,同时节省计算资源和训练时间。
https://www.tensorflow.org/text/guide/word_embeddings?hl=en
https://theaisummer.com/transformer/
首先,我们把GPT模型看作是一位“预言家”,它的任务是预测接下来要出现的单词。损失函数就是用来衡量这位“预言家”的预测能力如何。损失越小,说明预测越准确;损失越大,预测越不准确。
假设我们给“预言家”一个句子:“今天天气很__”,接下来的单词可能有很多种选择,比如“好”、“热”、“冷”等。我们期望“预言家”能根据之前的语境预测出最有可能的单词。
为了评估“预言家”的预测能力,我们需要一个标准答案。假设在这个例子中,正确的答案是“好”。现在,“预言家”会给每个可能的单词分配一个概率值,比如“好”概率为0.
假设“预言家”给出的概率分布如下:
好:0.8
热:0.1
冷:0.1
这意味着“预言家”认为“好”是最有可能的单词,概率为80%。而“热”和“冷”的概率都是10%。
接下来,我们需要通过损失函数来衡量“预言家”的预测准确性。在GPT模型中,常用的损失函数是交叉熵损失(Cross-Entropy Loss)。交叉熵损失考虑了“预言家”对正确答案的预测概率。在这个例子中,正确答案是“好”,其概率为0.8。交叉熵损失越小,代表“预言家”的预测越接近正确答案。
为了计算交叉熵损失,我们需要先计算对数损失(Log Loss)。在这个例子中,对数损失是对正确答案“好”的概率(0.8)取对数,然后取相反数。计算过程如下:
对数损失 = -log(0.8)
这个结果就是我们的损失值。对数损失越小,说明“预言家”的预测越接近正确答案,模型性能越好。在训练GPT模型的过程中,我们希望通过不断调整模型的参数来降低损失值,从而提高预测准确性。
简而言之,GPT模型中的损失(loss)是衡量模型预测准确性的一个指标,它反映了模型预测的概率分布与实际答案的接近程度。训练GPT模型的目标就是最小化损失值,以提高模型的预测能力。
当我们使用GPT模型进行文本生成时,有两种主要的方法来选择下一个单词:采样(sampling)和推断(inference,又称贪婪解码,greedy decoding)。
采样(Sampling):
采样是一种随机的方法,它根据模型为每个可能的单词分配的概率来选择下一个单词。采样生成的文本通常更具创造性和多样性,但有时可能不太连贯。一个常见的采样方法是使用“temperature”参数来调整概率分布的形状,从而控制生成文本的多样性。较高的温度值会使生成的文本更多样,但可能更不稳定;较低的温度值会使文本更稳定,但可能较缺乏创意。
举个例子,假设我们有以下概率分布:
好:0.8
热:0.15
冷:0.05
采样时,我们会按照这个概率分布随机选择一个单词。这里有80%的概率选择“好”,15%的概率选择“热”,以及5%的概率选择“冷”。采样方法允许生成不同的输出,因为它会根据概率分布随机选择单词,而不是总是选择概率最高的那个。
推断(Inference)/贪婪解码(Greedy Decoding):
推断是一种确定性方法,即总是选择具有最高概率的单词作为下一个单词。这种方法生成的文本通常在语法和连贯性方面更加准确,但可能较为单一,缺乏多样性。
以刚才的例子为例,贪婪解码会直接选择概率最高的单词“好”作为下一个单词。这种方法不考虑其他可能的单词,因此输出结果较为确定。
总结一下,采样(sampling)和推断(inference)是GPT模型在生成文本时用于选择下一个单词的两种主要方法。
采样方法根据每个单词的概率随机选择下一个单词,这会导致生成的文本具有较高的创造性和多样性,但有时可能不太连贯。通过调整采样过程中的“temperature”参数,可以在多样性和连贯性之间取得平衡。
推断方法(贪婪解码)则总是选择具有最高概率的单词作为下一个单词,这使得生成的文本在语法和连贯性方面更加准确,但可能较为单一,缺乏多样性。
在实际应用中,可以根据所需的输出特征选择合适的方法。例如,如果需要生成更有创意和多样性的文本,采样方法可能更合适;而如果要求生成的文本具有较高的连贯性和准确性,推断方法可能更适用。
https://lifearchitect.ai/chatgpt/
https://mp.weixin.qq.com/s/7HRr55Md2Wl6EHQMGioumw
大语言模型调研汇总 - guilipa的文章 - 知乎
https://zhuanlan.zhihu.com/p/614766286
https://zhuanlan.zhihu.com/p/611403556 总结当下可用的大模型LLMs
META的LLaMA模型对中文支持不好(tokenizer只有700多中字),其他的开源大模型有对中文支持较好的吗?
bloom好一点,语料有16%是中文。
有个基于中文裁剪的389m参数小模型。
Bloom似乎也只有2048个token的输入吧?中文可能也只能输入1000字不到?
https://mp.weixin.qq.com/s/d98AfgZZtCfskLW3ZUoVwA 大规模神经对话系统研究前沿趋势分析报告 2022-12
A Survey of Large Language Models
https://arxiv.org/abs/2303.18223
基于Whisper的音频转录服务汇总 - 梁川的文章 - 知乎 https://zhuanlan.zhihu.com/p/618663665
总结开源可用的Instruct/Prompt Tuning数据 - 九号的文章 - 知乎
https://zhuanlan.zhihu.com/p/615277009
ChatGPT科研神器:论文翻译润色一键搞定,还能帮你读代码 | GitHub热榜 - 量子位的文章 - 知乎
https://zhuanlan.zhihu.com/p/618697672
基于ChatGPT的翻译服务汇总 - 梁川的文章 - 知乎
https://zhuanlan.zhihu.com/p/614967145
基于垂直行业知识库和ChatGPT搭建行业问答机器人的技术架构 - 梁川的文章 - 知乎
https://zhuanlan.zhihu.com/p/613842066
Paul Graham GPT是一款基于人工智能的搜索和聊天工具,可用于搜索和阅读Paul Graham的所有文章。该应用使用OpenAI嵌入和Postgres数据库进行搜索和查找。此外,该应用使用GPT-3.5-turbo进行聊天功能,用户可根据其搜索结果提出问题并获得答案。该应用的代码和数据全面开源,使用者可以直接下载数据集进行使用。需要注意的是,使用该应用需要设置OpenAI API key和Supabase数据库等一系列环境变量。
https://github.com/mckaywrigley/paul-graham-gpt
ChatGPT detectors / 内容检测器 & Dataset
https://github.com/Hello-SimpleAI/chatgpt-comparison-detection
glue, super glue,
https://github.com/fighting41love/funNLP
https://github.com/lightaime/camel
evaluation
我建议在 Ubuntu 上使用 Python 3.8 来运行 GPT API 和类似的模型。Python 3.8 在性能和功能方面有很好的平衡,同时维护了对许多库和工具的良好兼容性。Python 3.8 在 2021 年 10 月发布了最后一个功能版本,因此在可预见的未来仍将得到支持。
要在 Ubuntu 上安装 Python 3.8,请按照以下步骤操作:
首先,添加 deadsnakes PPA:
sudo add-apt-repository ppa:deadsnakes/ppa
更新软件包列表:
sudo apt update
安装 Python 3.8:
sudo apt install python3.8
确认 Python 3.8 安装成功:
python3.8 --version
接下来,安装与 Python 3.8 相关的 pip:
sudo apt install python3.8-venv python3.8-dev
现在,你可以使用 Python 3.8 创建虚拟环境并运行 GPT API 以及类似的模型:
python3.8 -m venv venv
source venv/bin/activate
pip install --upgrade pip
在虚拟环境中,安装所需的库,例如 OpenAI 和 TensorFlow 或 PyTorch:
pip install openai tensorflow
然后,你可以在此环境中运行 GPT API 和类似的模型。
/root/venv/bin/python3.8 -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
/root/venv310/bin/python3.10 -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
mkdir -p ~/.config/pip/
touch ~/.config/pip/pip.conf
nano ~/.config/pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
sudo apt install python3.10
sudo apt install python3.10-venv python3.10-dev -y
python3.10 -m venv venv310
source venv310/bin/activate
pip install --upgrade pip
要进入虚拟环境,首先创建一个虚拟环境,然后激活它。创建虚拟环境的命令如下(使用 Python 3.8 作为示例,将 venv 替换为你想要的虚拟环境名称):
python3.8 -m venv venv3.8
要激活虚拟环境,请运行以下命令:
对于 Linux 和 macOS:
source venv3.8/bin/activate
对于 Windows:
venv\Scripts\activate
现在你已经进入了虚拟环境,可以安装所需的 API 和模型。在虚拟环境中安装的库和模型都将存在于虚拟环境的目录中,与系统全局安装的库分开。
要退出虚拟环境,只需运行以下命令:
deactivate
这将使你返回到系统全局环境。
是的,你可以在同一台计算机上安装多个 Python 版本,并为每个版本创建单独的虚拟环境。这在管理不同项目和依赖项时非常有用,特别是当这些项目需要不同版本的 Python 或库时。
例如,如果你已经安装了 Python 3.8 和 Python 3.11,你可以分别为它们创建虚拟环境:
python3.8 -m venv venv38
python3.11 -m venv venv311
然后,你可以分别激活和使用这些虚拟环境,根据需要在它们之间切换。
pip install transformers
pip install datasets
pip install tensorflow
conda create --name py310 python=3.10
conda activate py310
conda install -c conda-forge jupyterlab
conda install -c conda-forge ipywidgets
conda install -c conda-forge openai
# or in py code: openai.api_key = "xxxxx"
export OPENAI_API_KEY=在这里写你获取到的ApiKey
jupyter-lab .
conda deactivate p310
huggingface-cli login
pip install datasets
https://pytorch.org/get-started/locally/
显卡: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB]
pip3 install torch torchvision torchaudio
普通显卡:
https://github.com/karpathy/nanoGPT
pip install torch
pip install numpy
pip install transformers
pip install datasets
pip install tiktoken
pip install wandb
pip install tqdm
mkdir ai
cd ai
git clone https://github.com/karpathy/nanoGPT.git
# or
wget https://github.com/karpathy/nanoGPT/archive/refs/heads/master.zip -O nanoGPT.zip
unzip nanoGPT.zip
cd ~/ai/nanoGPT-master/data/shakespeare_char
rm -f input.txt
# wget https://raw.githubusercontent.com/karpathy/char-rnn/master/data/tinyshakespeare/input.txt
wget https://raw.githubusercontent.com/karpathy/ng-video-lecture/master/input.txt
# 将其从原始文本转换为一个大的整数流
python data/shakespeare_char/prepare.py
# 快速训练一个婴儿 GPT , 用gpu
python train.py config/train_shakespeare_char.py
# 用一般电脑cpu训练
python train.py config/train_shakespeare_char.py --device=cpu --compile=False --eval_iters=20 --log_interval=1 --block_size=64 --batch_size=12 --n_layer=4 --n_head=4 --n_embd=128 --max_iters=2000 --lr_decay_iters=2000 --dropout=0.0
# 一个上下文大小高达 256 个字符、384 个特征通道的 GPT,它是一个 6 层 Transformer,每层有 6 个头。在一个 A100 GPU 上,此训练运行大约需要 3 分钟,最佳验证损失为 1.4697。根据配置,模型检查点被写入 --out_dir 目录 out-shakespeare-char 。因此,一旦训练完成,我们就可以通过将采样脚本指向此目录来从最佳模型中采样
python sample.py --out_dir=out-shakespeare-char
https://github.com/MingGuangShao/GPT-Models-Single-GPU
AutoDL上运行CHATGLM-6B(教程)
https://zhuanlan.zhihu.com/p/617176886
https://www.codewithgpu.com/i/MingGuangShao/GPT-Models-Single-GPU/ChatYuan-large-v2
https://github.com/clue-ai/ChatYuan
交互方式连接不同视觉模型的开源工具
https://github.com/visual-openllm/visual-openllm
chatpdf
https://github.com/l15y/wenda
Paul Graham GPT 是一个基于人工智能的搜索和聊天工具,专门为保罗·格雷厄姆的文章设计。它使用 OpenAI Embeddings 技术进行搜索,与 Supabase 提供支持,并使用 GPT-3.5-turbo 技术实现聊天功能。该工具提供一个搜索界面和一个聊天界面,让用户能够轻松找到与保罗·格雷厄姆的文章相关的信息。在使用该工具前,需要先创建一个 Supabase 数据库,并设置 OpenAI API 密钥,然后运行指定的脚本,即可开始搜索和聊天。
https://github.com/mckaywrigley/paul-graham-gpt
反向工程化的ChatGPT API,基于OpenAI开发,可扩展为聊天机器人等其他用途。支持Python3.9及以上版本。可通过安装revChatGPT来使用,同时也提供了基础示例以及高级开发者用法。
https://github.com/acheong08/ChatGPT
已购买任一 Colab 付费方案的用户可使用付费 GPU。只需在菜单中依次选择运行时 > 更改运行时类型,升级笔记本的 GPU 设置,即可启用付费加速器。根据实际可用情况,选择付费 GPU 可能会授予您使用 V100 或 A100 Nvidia GPU 的权限。
免费版 Colab 会根据配额限制和实际可用情况,授予您使用 Nvidia T4 GPU 的权限。
只需执行以下单元格,即可随时查看分配给您的 GPU。如果以下代码单元格的运行结果是“Not connected to a GPU”(未连接到 GPU),您可以通过以下步骤更改运行时:在菜单中依次选择运行时 > 更改运行时类型,启用 GPU 加速器,然后重新执行该代码单元格。
https://colab.research.google.com/notebooks/pro.ipynb#scrollTo=QMMqmdiYMkvi