网站制作技术培训,wordpress插件商品对比,网站建设经验大总结,做一个论坛网站要多少钱目录
一、引言
二、文本生成#xff08;text-generation#xff09;
2.1 概述
2.2 家谱树谱——encoder or decoder is a problem
2.3 pipeline参数
2.3.1 pipeline对象实例化参数
2.3.2 pipeline对象使用参数
2.3.3 pipeline返回参数 …
目录
一、引言
二、文本生成text-generation
2.1 概述
2.2 家谱树谱——encoder or decoder is a problem
2.3 pipeline参数
2.3.1 pipeline对象实例化参数
2.3.2 pipeline对象使用参数
2.3.3 pipeline返回参数
2.4 pipeline实战
2.5 模型排名
三、总结 一、引言 pipeline管道是huggingface transformers库中一种极简方式使用大模型推理的抽象将所有大模型分为音频Audio、计算机视觉Computer vision、自然语言处理NLP、多模态Multimodal等4大类28小类任务tasks。共计覆盖32万个模型 今天介绍NLP自然语言处理的第六篇文本生成text-generation在huggingface库内有13.4万个文本生成text-generation模型当仁不让为最重要的task当前主流的大语言模型比如国外的llama3、gemma、Phi、GPT国内的Qwen、Baichuan都属于这个任务。
二、文本生成text-generation
2.1 概述
生成文本是根据一段文本生成新文本的任务。例如这些模型可以填充不完整的文本或释义。 2.2 家谱树谱——encoder or decoder is a problem
关于各家大语言模型LLM的原理、训练、部署、推理之前讲了非常多本篇博文不再进行复述如果需要的话可以翻我之前的博客非常用心与详细。今天主要带大家看一下大语言模型LLM的家族树谱。 主要分为 Encoder-Only仅编码器模型主要使用transformer的encode部分进行层层堆叠多用于掩码任务通过上下文决定缺失的内容做填空任务。代表模型为大名鼎鼎的BERT以及他的衍生品RoBERTa、DeBERTa、DistilBERT等当然还有早期的FastText、Word2Vec等 Encoder-Decoder联合体将transformer的编码器和解码器结合使用代表模型为GLM、T5、BART等Decoder-Only仅解码器模型主要使用transformer的decode部分多用于生成型的任务基于前面提供的信息生成后面的内容。代表模型为GPT、BLOOM、Claude等 2.3 pipeline参数
2.3.1 pipeline对象实例化参数 modelPreTrainedModel或TFPreTrainedModel— 管道将使用其进行预测的模型。 对于 PyTorch这需要从PreTrainedModel继承对于 TensorFlow这需要从TFPreTrainedModel继承。tokenizer ( PreTrainedTokenizer ) — 管道将使用 tokenizer 来为模型编码数据。此对象继承自 PreTrainedTokenizer。modelcardstr或ModelCard可选 — 属于此管道模型的模型卡。frameworkstr可选— 要使用的框架pt适用于 PyTorch 或tfTensorFlow。必须安装指定的框架。taskstr默认为— 管道的任务标识符。num_workersint可选默认为 8— 当管道将使用DataLoader传递数据集时在 Pytorch 模型的 GPU 上时要使用的工作者数量。batch_sizeint可选默认为 1— 当管道将使用DataLoader传递数据集时在 Pytorch 模型的 GPU 上时要使用的批次的大小对于推理来说这并不总是有益的请阅读使用管道进行批处理。args_parserArgumentHandler可选 - 引用负责解析提供的管道参数的对象。deviceint可选默认为 -1— CPU/GPU 支持的设备序号。将其设置为 -1 将利用 CPU设置为正数将在关联的 CUDA 设备 ID 上运行模型。您可以传递本机torch.device或str太torch_dtypestr或torch.dtype可选 - 直接发送model_kwargs只是一种更简单的快捷方式以使用此模型的可用精度torch.float16torch.bfloat16...或autobinary_outputbool可选默认为False——标志指示管道的输出是否应以序列化格式即 pickle或原始输出数据例如文本进行。 2.3.2 pipeline对象使用参数 text_inputsstrList[str]List[Dict[str, str]]或List[List[Dict[str, str]]]— 需要完成的一个或多个提示或一个提示列表。如果传递了字符串或字符串列表则此管道将继续每个提示。或者可以传递“聊天”以带有“role”和“content”键的字典列表的形式或传递此类聊天的列表。传递聊天时将使用模型的聊天模板对其进行格式化然后再将其传递给模型。return_tensors ( bool可选默认为False) — 是否在输出中返回预测的张量作为标记索引。如果设置为 True则不返回解码后的文本。return_textbool可选默认为True— 是否在输出中返回解码后的文本。return_full_textbool可选默认为True— 如果设置为False则仅返回添加的文本否则返回全文。仅当 return_text设置为 True 时才有意义。clean_up_tokenization_spacesbool可选默认为True—是否清理文本输出中可能出现的额外空格。prefixstr可选— 添加到提示的前缀。handle_long_generationstr可选— 默认情况下此管道不处理长生成以某种形式超出模型最大长度的生成。generate_kwargsdict可选——传递给模型的生成方法的附加关键字参数请参阅此处与您的框架相对应的生成方法。 2.3.3 pipeline返回参数 generated_textstr出现时间return_textTrue——生成的文本。generated_token_idstorch.Tensor或tf.Tensor当存在时return_tensorsTrue— 生成文本的标记 ID。 2.4 pipeline实战
本文实战方面只对pipeline的使用方法进行阐述每家的模型都有自己的参数、范式更详细的使用可以翻看我之前的博文写的全面一些。这里介绍两种pipeline使用方法 针对基础模型直接返回补全的结果。针对对话模型它还可以接受一个或多个聊天在这种情况下pipeline将以聊天模式运行并通过添加其响应来继续聊天。每个聊天都采用字典列表的形式其中每个字典包含“role”和“context”键 import os
os.environ[HF_ENDPOINT] https://hf-mirror.com
os.environ[CUDA_VISIBLE_DEVICES] 2from transformers import pipelinegenerator pipeline(tasktext-generation,model openai-community/gpt2 )
outputgenerator( 我不敢相信你做了这样的事 , do_sample False )
print(output)generator pipeline(tasktext-generation,model HuggingFaceH4/zephyr-7b-beta )
outputgenerator([{ role : user , content : 法国的首都是什么用一个词回答。 }], do_sample False , max_new_tokens 2 )
print(output)执行后自动下载模型文件并进行识别 2.5 模型排名
在huggingface上我们将文本生成text-generation模型按下载量从高到低排序总计13.5万个模型可以说是huggingface上最多的任务类别了。下载排名第一的为GPT的第2代模型——gpt2llama3、qwen2的小尺寸模型也有上榜。 三、总结
本文对transformers之pipeline的文本生成text-generation从概述、技术原理、pipeline参数、pipeline实战、模型排名等方面进行介绍读者可以基于pipeline使用文中的2行代码极简的使用NLP中的文本生成text-generation模型。 期待您的3连关注如何还有时间欢迎阅读我的其他文章
《Transformers-Pipeline概述》
【人工智能】Transformers之Pipeline概述30w大模型极简应用
《Transformers-Pipeline 第一章音频Audio篇》
【人工智能】Transformers之Pipeline一音频分类audio-classification
【人工智能】Transformers之Pipeline二自动语音识别automatic-speech-recognition
【人工智能】Transformers之Pipeline三文本转音频text-to-audio/text-to-speech
【人工智能】Transformers之Pipeline四零样本音频分类zero-shot-audio-classification
《Transformers-Pipeline 第二章计算机视觉CV篇》
【人工智能】Transformers之Pipeline五深度估计depth-estimation
【人工智能】Transformers之Pipeline六图像分类image-classification
【人工智能】Transformers之Pipeline七图像分割image-segmentation
【人工智能】Transformers之Pipeline八图生图image-to-image
【人工智能】Transformers之Pipeline九物体检测object-detection
【人工智能】Transformers之Pipeline十视频分类video-classification
【人工智能】Transformers之Pipeline十一零样本图片分类zero-shot-image-classification
【人工智能】Transformers之Pipeline十二零样本物体检测zero-shot-object-detection
《Transformers-Pipeline 第三章自然语言处理NLP篇》
【人工智能】Transformers之Pipeline十三填充蒙版fill-mask
【人工智能】Transformers之Pipeline十四问答question-answering
【人工智能】Transformers之Pipeline十五总结summarization
【人工智能】Transformers之Pipeline十六表格问答table-question-answering
【人工智能】Transformers之Pipeline十七文本分类text-classification
【人工智能】Transformers之Pipeline十八文本生成text-generation
【人工智能】Transformers之Pipeline十九文生文text2text-generation
【人工智能】Transformers之Pipeline二十令牌分类token-classification
【人工智能】Transformers之Pipeline二十一翻译translation
【人工智能】Transformers之Pipeline二十二零样本文本分类zero-shot-classification
《Transformers-Pipeline 第四章多模态Multimodal篇》
【人工智能】Transformers之Pipeline二十三文档问答document-question-answering
【人工智能】Transformers之Pipeline二十四特征抽取feature-extraction
【人工智能】Transformers之Pipeline二十五图片特征抽取image-feature-extraction
【人工智能】Transformers之Pipeline二十六图片转文本image-to-text
【人工智能】Transformers之Pipeline二十七掩码生成mask-generation
【人工智能】Transformers之Pipeline二十八视觉问答visual-question-answering