LLM paper

FreshLLMs: Refreshing Large Language Models with Search Engine Augmentation

让LLM回答最新的问题。
做法是搜索相关内容,按时间排序,并根据搜索结果回答。

COMPRESSING LLMS:THE TRUTH IS RARELY PURE AND NEVER SIMPLE

pruning methods suffer performance degradation

RECOMP:IMPROVING RETRIEVAL-AUGMENTED LMS WITH COMPRESSION AND SELECTIVE AUGMENTATION

compressing retrieved documents to save the words.
one is extractive compressor; abstractive compressor
在这里插入图片描述

Controllable Natural Language Generation with Contrastive Prefixes

用前缀学习attribute,同时对比地学习,使得可以用前缀控制生成的内容。
在这里插入图片描述

INSTRUCT RETRO:INSTRUCTION TUNING POST RETRIEVAL-AUGMENTED PRETRAINING

在这里插入图片描述
在这里插入图片描述

Retrieve Anything To Augment Large Language Models

### LLM(大型语言模型)代码实现与解析 #### 使用Transformer架构构建LLM的核心组件 大型语言模型通常基于Transformer架构,该架构通过自注意力机制捕获输入序列中的长期依赖关系[^2]。以下是使用Python和Hugging Face库来加载并运行预训练的LLM的一个简单示例: ```python from transformers import AutoTokenizer, AutoModelForCausalLM # 加载预训练的语言模型及其分词器 tokenizer = AutoTokenizer.from_pretrained("gpt2") # 替换为其他模型名称如"gpt3" model = AutoModelForCausalLM.from_pretrained("gpt2") # 输入文本 input_text = "The capital of France is" # 将文本转换为模型可接受的格式 inputs = tokenizer(input_text, return_tensors="pt") # 获取模型生成的结果 outputs = model.generate(**inputs, max_length=50) # 转换回人类可读的形式 generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) print(generated_text) ``` 上述代码展示了如何利用现有的预训练模型完成简单的文本补全任务。`AutoTokenizer`负责将原始字符串转化为适合神经网络处理的张量形式;而`AutoModelForCausalLM`则是用于因果语言建模的具体类。 #### 微调LLM以适配特定任务 尽管大规模预训练赋予了LLM强大的泛化能力,但在实际应用中往往还需要针对具体场景进一步调整参数设置。这一步骤被称为微调(fine-tuning),其目的是让模型更好地服务于目标领域内的需求[^3]。下面是一个关于情感分类的例子: ```python import torch from datasets import load_dataset from transformers import Trainer, TrainingArguments, BertForSequenceClassification, BertTokenizerFast # 数据准备阶段 dataset = load_dataset('imdb') tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased') def preprocess_function(examples): return tokenizer(examples['text'], truncation=True, padding='max_length', max_length=128) encoded_dataset = dataset.map(preprocess_function, batched=True) # 定义模型结构以及优化策略 model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2) training_args = TrainingArguments( output_dir='./results', evaluation_strategy="epoch", per_device_train_batch_size=16, per_device_eval_batch_size=64, num_train_epochs=3, weight_decay=0.01, ) trainer = Trainer( model=model, args=training_args, train_dataset=encoded_dataset["train"], eval_dataset=encoded_dataset["test"] ) # 开始训练过程 trainer.train() ``` 这段脚本首先下载IMDB影评数据集,并对其进行必要的前处理操作以便于后续计算。接着实例化了一个二元分类版本的BERT模型,并配置了一些超参控制实验条件。最后借助Trainer API简化整个迭代流程管理。 #### 利用LLM进行高级文档分析 除了基本的文字创作外,现代LLM还擅长解决更加复杂的业务挑战——比如从非结构化的PDF文件里抽取关键信息。相比传统的正则表达式方法,这种方法具备更强健性和灵活性[^4]。考虑这样一个情景:我们需要定位某篇学术文章里的作者姓名列表。可以采用如下方式实现自动化提取功能: ```python from langchain.document_loaders import PyPDFLoader from langchain.chains.summarize import load_summarizer_chain from langchain.prompts.prompt import PromptTemplate from langchain.llms.openai import OpenAI loader = PyPDFLoader("./example_paper.pdf") pages = loader.load_and_split() llm = OpenAI(model_name="text-davinci-003", temperature=0) prompt_template = """Extract the list of authors from this paper. Paper excerpt: {context} Author names:""" PROMPT = PromptTemplate(template=prompt_template, input_variables=["context"]) summarization_chain = load_summarizer_chain(llm=llm, chain_type="map_reduce", prompt=PROMPT) output_summary = summarization_chain(pages[:2]) # 只取前两页作为示范用途 print(output_summary['output_text']) ``` 这里我们引入LangChain框架辅助完成多步逻辑串联工作流设计。它先通过PyPDFLoader模块把源材料拆分成单独页面对象集合;再定制专用Prompt指导OpenAI服务专注于寻找所需条目而非概括全文内容摘要。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值