Tokenizer
Tokenizer 作用:将文本序列转化为数字(token)序列,作为transformer的输入 分词粒度:word;character;subword Word Tokenizer按照词进行分词,如:”I love you” -> [“I”, “love”, “you”]优点:简单,容易理解,便于理解模型输出结果缺点:每个word分配一个id,所需的vocabulary根据语料大小而不同,会将意思一致的词分成两个不同的id Character Tokenizer按照字符进行分词,如:”I love you” -> [“I”, “ “, “l”, “o”, “v”, “e”, “ “, “y”, “o”, “u”]优点:vocabulary相对小的多,适合中文缺点:对于英语来说,分词后的每个字符是毫无意义的,且输入的长度会变长 Subword Tokenizer按照词的子词进行分词,常用于英语,如‘today is...
C语言
C语言1 基础知识1.1 编程语言的分类 解释型语言:由解释器逐行解释和执行的编程语言。源代码不需要预先编译成机器代码,而是直接由解释器处理。(Python,JavaScript,Ruby,PHP) 编译型语言:在运行之前需要将源代码编译成机器代码(二进制代码)的编程语言。编译器将整个源代码翻译为可执行文件或中间代码。(C,C++,Rust,Go) 汇编型语言:一类与计算机的机器指令集紧密相关的低级编程语言(仍具有一定程度的可读性)。汇编语言直接映射到计算机的机器指令,但使用助记符表示指令。(x86 汇编,ARM 汇编,MIPS 汇编) 1.2 C++与python的区别 **C++**: 静态类型语言:变量的类型在编译时就已确定,类型检查是在编译阶段进行的。 编译型语言:将源代码转换为中间代码或汇编代码的过程。。 高性能:C++ 编译生成的机器代码通常执行速度较快,适合对性能有高要求的应用。 内存管理:C++...
大模型学习之数据集
数据集预训练数据集和指令微调数据集的比较1. 预训练数据集 目的:学习通用的语言模式和特征,建立一个强大的语言理解和生成能力的模型 格式: 文本连续性:预训练数据集通常是由大量的连续文本组成的。这些文本可以来自书籍、文章、对话等 无明确标签:预训练数据集不需要显式的输入-输出对。例如,GPT类模型通常只需要大量的未标注文本来预测下一词或填补掩盖词 2. 指令微调数据集 目的:使模型能够理解和执行特定的任务指令,如回答问题,生成特定格式的文本等 格式: 明确的输入-输出对:指令微调数据集通常包含明确的输入(指令)和期望的输出(响应)。这些数据旨在训练模型根据特定的任务或指令生成准确的输出 指令和响应的对话结构:通常以对话形式,包括“指令”与回应 LLaMA-Factory支持 alpaca 格式和 sharegpt 格式的数据集 指令微调数据集的制作
部署
部署边缘端部署MAIX-3参考文档 MAIX-3部署参考 板子启动 烧录系统镜像 使用读卡器插入SD卡,然后使用Etcher软件进行烧录。(参考文档有详细步骤) 连接板子 这里使用MobaXterm进行连接,可以通过串口直接连接,以及网口,wifi等方式 常用的基础命令包括: jupyter notebook 启动网页端notebook ifconfig -a 查看当前网络配置 nmtui-connect 图形化联网 模型部署要部署模型到AXera-Pi,需要将模型量化到 ·INT8·,减小模型大小的同时提高运行速度,一般采用 PTQ(训练后量化)的方式量化模型 步骤:1. 准备好浮点模型。2. 用模型量化和格式转换工具转换成 AXera-Pi 支持的格式,这里工具使用爱芯官方提供的 pulsar 3. 在 AXera-Pi 上运行模型。 安装docker第一次尝试是安装windows版本的docker 然后拉取转换工具’docker pull sipeed/pulsar:0.6.1.2’ 模型转换pytorch...
transformer
transform概述 Encoders由N个Encoder组成,输入经由Encoders和Decoders编解码的过程,得到对应输出。 Encoder 输入部分 Embedding “embedding” 是一种将离散的输入数据(如单词、字符或符号)转换为连续的向量表示的技术。将输入的每个词(通常是词汇表中的索引)映射到一个固定大小的向量(比如300维或512维)。这些向量会作为模型的输入,传递给后续的编码器(Encoder)和解码器(Decoder)层。 位置编码 Transformer 模型中的注意力机制(Self-Attention)是并行计算的,它并不依赖于输入数据的顺序。因此,模型需要一种方法来捕捉输入序列中每个元素的顺序或位置信息,以便模型能够区分和理解数据的结构。 注意力机制 婴儿在干嘛?(颜色越深代表受的关注度越高) 计算公式 qkv的生成 Query(Q):查询的向量,代表模型当前正在关注或感兴趣的部分。 Key(K):键向量,用于与 Query 进行匹配,以决定输入序列中哪些部分应该被关注。 ...
Agent
Agent(智能体)特性: 解决复杂问题 依赖不同的tool(外部API) 将复杂问题拆分为简单问题(planning) HuggingGPT - 使用工具来解决问题结合GPT和其他模型工具的能力来解决复杂问题。 大模型的不足 LLM的能力局限在文本领域; 现实生活中的一些问题比较复杂,没有办法让大模型一次性帮我们输出答案; 有些复杂问题需要首先进一步拆解成简单的sub-tasks; 虽然像GPT4模型很优秀,但它的知识不具备实时性,而且在特定领域不一定比其他模型强; 四阶段Agent模型 stage1:Task Planning 三种类型的task: stage2:Model Selection 模型库:reolicate/huggingface stage3:Task Execution(执行) stage4:Response Generation 缺点: 1.没有验证的逻辑,无法评估task planning的效果。 2.tool的个数增加,大模型的选择可能也会出问题。 ...
GPT_API调用
GPT_API调用免费版免费的api-key https://github.com/chatanywhere/GPT_API_free 详情建议多看看文档 1234567891011121314151617181920# 测试代码from openai import OpenAIclient = OpenAI( # defaults to os.environ.get("OPENAI_API_KEY") api_key="your keys", base_url="https://api.chatanywhere.tech/v1" # base_url="https://api.chatanywhere.cn/v1")completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role":...
Langchain
langchain(本文为个人学习笔记,内容较为基础,如有错误,欢迎指正。欲了解详细信息,请参考官方文档。)https://api.python.langchain.com/en/latest/langchain_api_reference.html LangChain的功能比较广泛,涵盖了多个方面,主要包括以下几个方面: 链式操作(Chains):LangChain允许用户将多个语言模型调用组合成一个复杂的操作流程。例如,可以创建一个链式操作,其中第一个步骤是从用户获取输入,第二个步骤是处理和分析该输入,第三个步骤是生成相应的回复。 12345678910111213141516171819202122from dotenv import load_dotenv, find_dotenv# 加载apiload_dotenv(find_dotenv())from langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplatefrom...
提示词工程
LINK 提示词工程 prompt engineering什么是提示词工程:我们在使用AI时,必须提出具体要求,AI才知道如何去完成。但是我们下达的指令并不会直接进入AI模型,prompt engineering会对我们的输入进行处理转换成promprt,再输入到模型。这里的prompt可以理解一个把我们的指令进行复杂化的过程。(即赋予我们的指令更多的信息)prompt engineering帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。研究人员可利用提示工程来提升大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计、研发强大的工程技术,实现和大语言模型或其他生态工具的高效接轨。 大模型参数设置 Temperature: 参数值越小,输出越确定,反之则越随机。 Top_p: 参数值越大,输出越随机,反之则越确定。 Max length: 输出文本最大长度。 stop sequence: 输出文本结束符。 Frequency penalty: 输出文本中重复词的惩罚系数。 Presence...
大模型学习综述
大模型学习之路持续更新中… 大模型简单讲就是参数量巨大的神经网络模型 1. 基础知识1.1NLP基础知识 RNN(循环神经网络) 对于语言来说顺序是十分重要的,顺序提供了一定的信息,“我爱你”和“你爱我“,就是两个不同的情况。RNN一个重视序列信息的网络,序列即前后关系。 HIDDEN STATE(隐状态):保存信息 缺点:数据输入时间越早,在隐状态中占据的影响就越小。 应用场景:机器翻译|图生文|语音识别|量化交易模型 seq2seq 受限于网络结构,RNN只实现N to N(机器翻译任务,一个词翻译一个词)或者1 to N,N to 1,不能解决N to...