AI入门-- 概念01

AI分类

  1. NLP(Natural Language Processing): 是AI的一个子领域,专注于使计算机能够理解、解释和生成人类语言。GPT和ChatGPT都是NLP领域的技术成果。
  2. LLM(Large Language Model): 是指包含数亿甚至更多参数的语言模型,它们在大量文本数据上进行训练,以理解和生成自然语言。GPT系列模型就是LLM的代表。
  3. GPT(Generative Pre-trained Transformer): 是一种自然语言处理(NLP)的模型,由OpenAI开发。GPT的目标是理解和生成人类的自然语言,通过在大量文本数据上进行预训练,学习语言的各种模式和知识。
  4. ChatGPT: 是基于GPT模型构建的聊天机器人,能够生成文本,回答问题和进行自然语言对话。它是GPT模型的一个具体应用实例,用于实现对话任务。除了 GPT 还有其他的很多优秀的模型,如 Google 的 Genmini,Meta 开源的 Llama 等等。
  5. AIGC(AI Generated Content): 是指利用AI技术自动生成的内容,例如文本、图像、音乐等。这是一种应用AI技术生成新内容的方法,可以看作是AI在创意产业中的应用。
  6. LangChain : 是一个AI 开发框架,专注于构建由语言模型驱动的应用程序。它提供了一系列的组件和用例特定链,以帮助开发者创建聊天机器人、智能问答工具、摘要服务等应用程序。LangChain 可以与大型语言模型(如 GPT-3)结合使用,通过提供 Prompt templates、LLMs、Agents 和 Memory 等模块化的抽象组件,来构建高级的 AI 应用
  7. Ollama 是一个开源的大型语言模型服务工具,它允许用户快速在本地运行大语言模型(如 Llama 3)。Ollama 旨在简化 AI 模型的开发和使用过程,使得无论是 AI 专业人士还是新手都能轻松地使用和开发 AI 应用。Ollama 支持多种主流模型,并且提供了与 OpenAI API 兼容的框架,让开发者可以更容易地将现有应用程序与 Ollama 相连接
    AGI(Artificial General Intelligence): 是指能够执行任何人类智能任务的机器智能,是一种理论上的AI形式,目前还未实现。AGI与目前普遍存在的专用或窄AI(ANI)不同,后者只能在特定任务上表现出智能

LLM

  • base LLM。这类是说,预测下一个最可能出现的词。假如你给一个指令,法国的首都是什么。根据网上文章,LLM可能会给你:法国最大的城市是什么。
  • instruction TunedLLM。这个就是指令学习LLM。遵循指令返回。假如你给一个指令,法国的首都是什么,它就告诉你是巴黎。这类是目前大多数的研究方向。

这里提到了一种叫做 RLHF 的技术用来完善LLM训练强化学习。暂时不清楚啥是RLHF。暂且放一边。

提示工程 prompts

官网传递《面向开发者的 ChatGPT 提示工程》教程
建议食用方式:bilibili搜同名教程

根据视频总结,如何写清晰具体的prompts

清晰具体的指令
  1. 分隔符(看官方例子很好理解,就是具体让模型知道具体的指令文字,避免被干扰)
  • Triple quotes (“”””) (三引号)
  • Triple backticks (“```”) (三个反引号)
  • Triple dashes (“—“) (三个短横线)
  • Angle brackets (“< >”) (尖括号)
  • XML tags (“ “) (XML 标签)
    XML标签是XML语言中的基本组成单元,用于标记和描述数据。XML标签通常成对出现,包括开始标签和结束标签。
  1. 结构化输出(这个更好理解了,让它返回JSON XML之类的格式)
  2. 要求检查条件是否满足
  3. 简要提示语(其实就是,你是一个资深律师,现在你XX)
    总结,不如看这个: https://github.com/RUCAIBox/LLMSurvey/blob/main/Prompts/README.md
    给LLM更多时间思考
  • 让模型按照某些步骤来做
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Your task is to perform the following actions:

    Summarize the following text delimited by <><> with 1 sentence.

    Translate the summary into French.

    List each name in the French summary.

    Output a json object that contains the following keys: french_summary, num_names.

    Use the following format:

    Text: <text to summarize>

    Summary: <summary>

    Translation: <summary translation>

    Names: <list of names in Italian summary>

    Output JSON: <json with summary and num_names>

    Text: <{text}>
  • Instruct the model to work out its own solution before rushing to a conclusion 指示模型在匆忙得出结论之前,先独立思考并找出自己的解决方案

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!