让大模型 Agent 处理海量数据的技巧 现在给你的大语言模型智能体(LLM Agent)一个任务,让它从海量的数据中提取、总结、计算出正确的答案。你会怎么做?显然你不能把所有数据都装到大模型的提示词(prompt)里面去,因为那样你将很快遭遇到大模型上下文窗口的限制,导致信息丢失,无法完成任务。 例如,要统计全校学生各科成绩的平均分,你就不可能把全校上千个学生的成绩都输入到 prompt 里去让大模型总结,这样 prompt 的令牌数将 2024-01-23 LLM #LLM #Agent
GitHub 用命令行合并 Fork 的仓库 有时候,我们会在 GitHub 上从别人的仓库 Fork 一个项目到自己的仓库里,修改部分代码,以供自己使用。除了修改的部分,如果别人仓库的代码有更新,我们也希望能及时同步。GitHub 本身提供了自动同步的机制,但如果代码有冲突,此时只能通过命令行手动合并了。 假设别人的仓库地址是 git@github.com:[user]/[repo].git,你需要把这里的 [user] 和 [repo] 2024-01-15 Git #github #git #fork #checkout #merge
使用 SSHFS 共享文件夹 最近在做大模型开发训练的过程中碰到一个难题: 我需要利用云服务器的 GPU 做训练,因此代码需要放置在云服务器上; 代码开发完,我又需要 git push 到内网的仓库地址上; 云服务器没办法直接访问内网代码仓库。 我最开始想到的方案是用 scp 或者 sftp 把云服务器上的代码拷贝到本地,再用本地的网络推到内网代码仓库中。但是这样会浪费掉大量的云服务器流量,特别是 .git 包含了特别多的 2023-12-29 Linux #SSHFS
移除文本文件中的 Windows 回车符号 今天在 Windows 上用 git 命令同步远程仓库,可能是被同步的文件在 WSL 里面也有被编辑过,合并之后文件被带进来满屏的 ^M 符号。这些符号其实是 Windows 操作系统中的回车符号 (Carriage Return)。如果需要移除 ^M,可以使用以下的方法: 1、在 Linux 或 Mac 系统中,可以使用 sed 命令来移除 ^M。打开终端,执行以下的命令: 1$ sed -i 2023-12-28 Linux #wsl #linux
在 WSL 中优雅地使用宿主机的代理 打开 WSL 终端的时候,会出现下面的一个报错: 1wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。 这个报错告诉我们,不能用 localhost 直接访问宿主机的代理。 但是如果在 WSL 中能够访问宿主机的 IP,并且宿主机的代理服务“允许来自局域网的连接”,那么 WSL 就可以轻松使用宿主机的代理了。 宿主机的 2023-11-28 Linux #wsl #proxy
一文梳理 RNN、GRU 和 LSTM RNN RNN 的全称是 Recurrent Neural Network,翻译成“循环神经网络”。它是一种用于处理序列数据的神经网络模型。与传统的前馈神经网络不同,RNN 具有向后连接的特性,可以将前面的输出作为后面的输入,从而实现对序列数据的建模和处理。RNN 被广泛应用于自然语言处理、语音识别、机器翻译等领域。一个典型的 RNN 结构图如下: 为了统一描述,本文规定:上标 \(\langl 2023-06-08 LLM #LLM #RNN #GRU #LSTM
PyTorch 随机 Mask 的技巧 本文记录一下用 PyTorch 随机 Mask 的技巧。 这里假设数值低于 2 的 token 都是特殊 token,不做处理。 123456789101112131415161718import torch# 定义 mask 的 token idmask_token_id = 4def mlm(tensor): # 克隆一份数据,避免修改原始输入数据 tensor = tensor. 2023-04-27 LLM #PyTorch
【学习笔记】强化学习基本概念 为了加强理解,我们以《超级玛丽》游戏为例,让 AI 使用强化学习,操作马里奥走动和跳跃,完成通关任务。 术语 Agent 用强化学习驱动的作用对象,也就是下面 Action 的作用对象。在《超级玛丽》游戏中,这个 Agent 就是 AI 控制的马里奥。 State 当前系统状态,用 \(s\) 表示。 Action 作用对象执行的操作或动作,用 \(a\) 表示。例如,在《超级玛丽》游戏中,所有 2023-04-19 DRL #Agent #Environment #State #Action #Reward #Policy #StateTransition #Return #ValueFunctions
在生产环境中使用 Docker 部署 Flask 服务 用 Anaconda 开启一个新的环境 创建一个新的 conda 环境,并取名为 flask 1conda create --name flask python=3 激活 flask 环境 1conda activate flask 开启一个简单的 Flask 服务 用 pip 安装 Flask 1pip install flask 12345678910111213141516# main.py 2023-04-18 Docker #Docker #Flask #uWSGI
对 ChatGLM-6B 做 LoRA fine tuning ChatGLM-6B 是一个支持中英双语的对话语言模型,基于 GLM (General Language Model)。它只有 62 亿个参数,量化后最低 (INT4 量化) 只需要 6GB 的显存,完全可以部署到消费级显卡上。在实际使用这个模型一段时间以后,我们发现模型的对话表现能力确实非常不错。那么,基于这个模型做 Fine-tuning 就非常有价值了。 2023-03-30 LLM #LLM #LoRA #ChatGLM #Transformer