码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • LLaMa


    文章目录

    • Problems
      • 403
    • 代码文件
    • LLaMA: Open and Efficient Foundation Language Models
      • 方法
        • 预训练数据
        • 结构
        • 优化器
        • 一些加速的方法
      • 结果
        • Common Sense Reasoning
        • Closed-book Question Answering
        • Reading Comprehension
        • Massive Multitask Language Understanding
      • Instruction Finetuning
      • 附录
        • Question Answering
        • Generations from LLaMA-65B
        • Generations from LLaMA-I
    • Llama 2: Open Foundation and Fine-Tuned Chat Models
      • pretraining methodology
        • Pretraining Data
        • Training Details
      • fine-tuning methodology
        • Supervised Fine-Tuning(SFT)
        • Reinforcement Learning with Human Feedback (RLHF)

    Problems

    403

    reclone and request.

    代码文件

    两个测试样例:

    1. example_text_completion.py: 文本补全示例;
    2. example_chat_completion.py: 对话生成示例.
    torchrun --nproc_per_node 1 example_text_completion.py \
        --ckpt_dir llama-2-7b/ \
        --tokenizer_path tokenizer.model \
        --max_seq_len 128 --max_batch_size 4
    
    • 1
    • 2
    • 3
    • 4
    torchrun --nproc_per_node 1 example_chat_completion.py \
        --ckpt_dir llama-2-7b-chat/ \
        --tokenizer_path tokenizer.model \
        --max_seq_len 512 --max_batch_size 6
    
    • 1
    • 2
    • 3
    • 4

    ckpt_dir: 模型文件路径
    tokenizer_path: 分词器文件路径

    对于示例一, prompt中提供了需要补全的文本.

    对于示例二, prompt以字典形式组织对话. 每个item包含role和content两个关键字.

    1. role:user: 用户, 用以输入文本;
    2. role:assistant: 系统, 用以输出文本;
    3. role:system: 对系统生成对话的要求;

    LLaMA: Open and Efficient Foundation Language Models

    发展:
    scale models -> scale data -> fast inference and scale tokens

    本文的要点:
    通过在更多的token上训练, 使得在不同推理开销下, 达到最佳的性能.

    方法

    LLaMA采用Auto Regression的方式进行预训练.

    预训练数据

    公开数据.

    请添加图片描述

    tokenizer的方法为: bytepair encoding(BPE). 总共包含1.4T个tokens.

    结构

    采用了之前一些被证明可行的方法:

    1. RMSNorm from GPT3;
    2. SwiGLU from PaLM;
    3. RoPE from GPTNeo.

    优化器

    1. AdamW ( β 1 = 0.9 , β 2 = 0.95 , w e i g h t   d e c a y = 0.1 \beta_1=0.9, \beta_2=0.95, weight~decay=0.1 β1​=0.9,β2​=0.95,weight decay=0.1);
    2. warmup 2000 step and cosine learning rate schedule;
    3. gradient clippping = 1.0;

    一些加速的方法

    1. causal multi-head attention;
    2. reduce the amount of activations that recomputed during the backward pass.

    2048块80G的A100训练21天.

    结果

    Common Sense Reasoning

    请添加图片描述

    zero-shot.

    CSR : 基于问题和常识性选择, 让模型做出判断.

    请添加图片描述

    Closed-book Question Answering

    请添加图片描述

    请添加图片描述

    不依赖于外部信息源, 只凭借训练时学习得到的信息完成问答任务.

    自由文本的评估指标. exact match perfromance

    Reading Comprehension

    请添加图片描述

    在这里插入图片描述

    Massive Multitask Language Understanding

    请添加图片描述

    在这里插入图片描述

    Mathematical reasoning 和 Code Generation就不再赘述.

    Instruction Finetuning

    待补充

    附录

    Question Answering

    请添加图片描述
    对于Natural Questions 和 TriviaQA 使用1-shot设定. 预先打印字符串:Answer these questions:\n在问题和答案之前.

    Generations from LLaMA-65B

    Without instruction finetuning.

    Prompts are in bold.

    Only present part of them.

    请添加图片描述

    请添加图片描述

    Generations from LLaMA-I

    请添加图片描述

    Llama 2: Open Foundation and Fine-Tuned Chat Models

    LLAMA2 : 新的训练数据组织形式, 更大的预训练语料库, 更长的上下文, grouped-query attention.

    LLAMA2 : 针对对话场景的微调版本.

    pretraining methodology

    Pretraining Data

    1. a new mix of data , not including data from Meta’s products or services;
    2. 移除包含私人信息的数据;
    3. 2 trillion tokens and up-sampling the most factual sources.

    Training Details

    除了RMSNorm, RoPE and SwiGLU, 增加了GQA.

    其余与LLaMA 1一致.

    fine-tuning methodology

    Supervised Fine-Tuning(SFT)

    使用公开的instruction tuning data.

    提取高质量的部分数据, 模型的效果仍然得到提升. Quality is All You Need.

    发现人类写的注释和模型生成+人工检查的注释效果差不多.

    微调细节:

    1. cosine learning rate schedule;
    2. initial lr = 2e-5;
    3. weight decay = 0.1;
    4. batch size = 64;
    5. sequence length = 4096.

    Reinforcement Learning with Human Feedback (RLHF)

    人类从模型的两个输出中选择喜欢的一个. 该反馈随后用于训练一个奖励模型. 该模型学习人类的偏好模式.

  • 相关阅读:
    npm、cnpm、pnpm使用详细
    插图精美的html & css教程
    Java泛型中通配符的使用详解
    环形缓冲区、链表及二叉树示例
    c语言——扫雷游戏(简易版)
    使用Pytorch快速训练ResNet网络模型
    [C语言]排序的大乱炖——喵喵的成长记
    Linux环境下安装RabbitMQ的全过程
    游戏思考20:前缀树用途、实现及优化
    js数组排序的六种方法
  • 原文地址:https://blog.csdn.net/weixin_46365033/article/details/133044654
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号