[LLM]nanoGPT---训练一个写唐诗的GPT

这篇具有很好参考价值的文章主要介绍了[LLM]nanoGPT---训练一个写唐诗的GPT。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

karpathy/nanoGPT: The simplest, fastest repository for training/finetuning medium-sized GPTs. (github.com)

原有模型使用的莎士比亚的戏剧数据集, 如果需要一个写唐诗机器人,需要使用唐诗的文本数据,

一个不错的唐诗,宋词数据的下载资源地址:

https://github.com/chinese-poet

这个数据集里面包含搜集到的唐诗,宋词,元曲小说文本数据。

一 数据准备

1. 先下载全唐诗数据,保存到 data/poemtext/tang-poetry下

2. 进行数据的预处理

[LLM]nanoGPT---训练一个写唐诗的GPT,LLM,gpt

format-data.py

# -*- coding: utf-8 -*-
import glob
import json
datas_json=glob.glob("./tang-poetry/poet*.json") #1匹配所有唐诗json文件

for data_json in datas_json[:]: #2处理匹配的每一个文件
    with open(data_json,"r",encoding="utf-8") as f:
        ts_data =json.load(f)
        for each_ts in ts_data[:]: #3处理文件中每段数据,只要五言诗和2句的
            paragraphs_list =each_ts["paragraphs"]
            if len(paragraphs_list) == 2 and len(paragraphs_list[0])==12 and len(paragraphs_list[1]) == 12:
                with open("tang_poet.txt","a",encoding="utf-8") as f2:
                    f2.write("".join(paragraphs_list))
                    f2.write("\n")

f =open("tang_poet.txt","r",encoding="utf-8")
print(len(f.readlines()))

prepare.py

import os
import requests
import tiktoken
import numpy as np

# download the tiny shakespeare dataset
input_file_path = os.path.join(os.path.dirname(__file__), 'tang_poet.txt')
with open(input_file_path, 'r') as f:
    data = f.read()
n = len(data)
train_data = data[:int(n*0.9)]
val_data = data[int(n*0.9):]

# encode with tiktoken gpt2 bpe
enc = tiktoken.get_encoding("gpt2")
train_ids = enc.encode_ordinary(train_data)
val_ids = enc.encode_ordinary(val_data)
print(f"train has {len(train_ids):,} tokens")
print(f"val has {len(val_ids):,} tokens")

# export to bin files
train_ids = np.array(train_ids, dtype=np.uint16)
val_ids = np.array(val_ids, dtype=np.uint16)
train_ids.tofile(os.path.join(os.path.dirname(__file__), 'train.bin'))
val_ids.tofile(os.path.join(os.path.dirname(__file__), 'val.bin'))

二 配置文件准备

参考   train_shakespeare_char.py

[LLM]nanoGPT---训练一个写唐诗的GPT,LLM,gpt

三 开始训练

参考   train_shakespeare_char.py

# mac pro m1机器上
python3 train.py config/train_poemtext_char.py --device=mps --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=1000 --lr_decay_iters=1000 --dropout=0.0

[LLM]nanoGPT---训练一个写唐诗的GPT,LLM,gpt

四 生成唐诗

python3 sample.py --out_dir=out-poemtext-char --device=mps

参考:

迷你版ChatGPT开源,教你怎么用nanoGPT训练一个写小说的AI机器人! - 知乎 (zhihu.com)

Gpt进阶(二): 以古诗集为例,训练一个自己的古诗词gpt模型 - 知乎 (zhihu.com)文章来源地址https://www.toymoban.com/news/detail-759252.html

到了这里,关于[LLM]nanoGPT---训练一个写唐诗的GPT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 果然来了!GPT-4.5贵有贵的道理?微软Phi-2精准超越谷歌;LLM怪诞心理学;斯坦福创业课精华笔记;新手LLM训练系统指南 |ShowMeAI日报

    👀 日报周刊合集 | 🎡 生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! https://www.reddit.com/r/OpenAI/comments/18i5n29/anyone_hear_of_gpt45_drop_today 12月14日,美国 Reddit 论坛用户贴出了一张截图,显示的是 OpenAI GPT-4.5 定价信息,疑似遭到了提前「泄露」。 从这张截图看, GPT-4.5 具

    2024年02月03日
    浏览(62)
  • 如何赋予 GPT/LLM 自我意识1

    这个周末OpenAI搞了一个大新闻,围绕 Sam Altman 和 Ilya Sutskever 的各种讨论遍地开花,而其中一个关注点就是他们对于 AGI 降临态度上的偏差。本文不打算讨论公司治理和办公室政治,而是用一些思维实验和大家都公认的现象来分析纯理论而言 AGI 会如何降临。一个基本的结论就

    2024年02月05日
    浏览(45)
  • 【LLM GPT】李宏毅大型语言模型课程

    怎么学习?——给定输入和输出: 但是这样做不现实,因为这样输入-输出需要成对的资料,而chatgpt 成功解决了这一个难题。 chatgpt不需要成对的资料,只需要一段有用的资料,便可以自己学习内容,如下: 初代和第二代gpt 第二代到第三代 gpt3还会写代码 其性能表现 但是

    2024年02月10日
    浏览(47)
  • 【LLM GPT】大型语言模型 理解和实现

    怎么学习?——给定输入和输出: 但是这样做不现实,因为这样输入-输出需要成对的资料,而chatgpt 成功解决了这一个难题。 chatgpt不需要成对的资料,只需要一段有用的资料,便可以自己学习内容,如下: 初代和第二代gpt 第二代到第三代 gpt3还会写代码 其性能表现 但是

    2024年02月09日
    浏览(58)
  • GPT系列训练与部署——GPT2环境配置与模型训练

            本文为博主原创文章,未经博主允许不得转载。         本文为专栏《Python从零开始进行AIGC大模型训练与推理》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/130169592”。         Colossal-AI提供了多种并行方式来运行GPT,不同并行方式的相应配置位

    2024年02月10日
    浏览(49)
  • GPT属于AI,是LLM的一种实现

    GPT(Generative Pre-trained Transformer)作为一种创新的语言模型,既属于人工智能(AI)的一部分,也是大规模语言模型(LLM)的一种实现。本文将探讨GPT在AI和LLM领域的重要性和影响。 GPT(Generative Pre-trained Transformer)是一种基于深度学习的语言模型,它的出现标志着AI技术在自然

    2024年01月21日
    浏览(44)
  • 8大伦理考量:大型语言模型(LLM)如GPT-4

    大语言模型(LLM)如ChatGPT、GPT-4、PaLM、LaMDA等,具有生成和分析类人文本的能力。然而,它们也可能会产生有害内容,如仇恨言论、极端主义宣传、种族主义或性别歧视语言等,对特定个人或群体造成伤害。尽管LLM本身并不具有偏见或危害性,但它们所训练的数据可能反映了社

    2024年03月22日
    浏览(48)
  • Zephyr-7B-β :类GPT的高速推理LLM

    Zephyr 是一系列语言模型,经过训练可以充当有用的助手。 Zephyr-7B-β 是该系列中的第二个模型,是 Mistralai/Mistral-7B-v0.1 的微调版本,使用直接偏好优化 (DPO) 在公开可用的合成数据集上进行训练 。 我们发现,删除这些数据集的内置对齐可以提高 MT Bench 的性能,并使模型更加有

    2024年02月05日
    浏览(35)
  • 使用GPT-4生成训练数据微调GPT-3.5 RAG管道

    OpenAI在2023年8月22日宣布,现在可以对GPT-3.5 Turbo进行微调了。也就是说,我们可以自定义自己的模型了。然后LlamaIndex就发布了0.8.7版本,集成了微调OpenAI gpt-3.5 turbo的功能 也就是说,我们现在可以使用GPT-4生成训练数据,然后用更便宜的API(gpt-3.5 turbo)来进行微调,从而获得

    2024年02月09日
    浏览(49)
  • LLM、GPT和人工智能之间的关系和区别,你知道多少?

    LLM(Large Language Model)、GPT(Generative Pre-trained Transformer)和人工智能之间的关系如下: 首先,人工智能(Artificial Intelligence,AI)是一门研究如何使计算机具备智能的科学与工程领域。它涵盖了许多不同的技术和方法,旨在使计算机能够模拟和执行人类智能活动,如学习、推

    2024年01月25日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包