Parameter-Efficient Transfer Learning for NLP
# 面向 Nlp 的参数高效迁移学习
原始论文:《Parameter-Efficient Transfer Learning for NLP》
http://arxiv.org/abs/1902.00751
# 摘要
微调大型预训练模型是 NLP 中一种有效的迁移机制。然而,在存在许多下游任务的情况下,微调是参数无效的:每个任务都需要一个全新的模型。作为替代,我们提出了带有适配器模块的传输。适配器模块产生一个紧凑且可扩展的模型;它们每个任务只添加少量可训练的参数,并且可以在不重访以前的任务的情况下添加新的任务。原始网络的参数保持固定,产生高度的参数共享。为了证明适配器的有效性,我们将最近提出的 BERT Transformer 模型迁移到 26 个不同的文本分类任务中,包括 GLUE 基准测试。适配器获得接近最先进的性能,同时每个任务只增加几个参数。在 GLUE 上,我们实现了 0.4% 以内的全微调性能,每个任务仅增加 3.6% 的参数。相比之下,微调训练每个任务 100% 的参数。
# 1. 引言
从预训练的模型中迁移在许多 NLP 任务 (Dai & Le , 2015 ...
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
# 思维链提示在大型语言模型中引发推理
# 摘要
我们探索了如何生成一个思想链 -- 一系列中间推理步骤 -- 显著提高大型语言模型执行复杂推理的能力。特别地,我们展示了这种推理能力是如何在足够大的语言模型中通过一种简单的方法 -- 思维链提示 -- 自然产生的,其中提供了几个思维链演示作为提示的例子。
在三个大型语言模型上的实验表明,在一系列算术、常识和符号推理任务上,思维链提示提高了性能。经验上的收益可能是惊人的。例如,仅用 8 个思维链示例就提示一个 PaLM 540B,在数学应用题的 GSM8K 基准上达到了最先进的精度,甚至超过了用验证器微调的 GPT-3。
图 1:思想链提示使大型语言模型能够处理复杂的算术、常识和符号推理任务。突出了思维链推理过程。
# 1. Introduction 引言
NLP 领域最近被语言模型 (Peters 等,2018;Devlin 等,2019;Brown 等,2020) 所革命化。扩大语言模型的规模已经被证明可以带来一系列的好处,例如提高性能和样本效率 (Kaplan 等,2020;Brown 等,2020)。然而,在诸如算术、常识和符 ...
Reflexion: Language Agents with Verbal Reinforcement Learning
# 反射:言语强化学习的语言代理
原论文:Reflexion: Language Agents with Verbal Reinforcement Learning
# 摘要
大型语言模型 (Large Language Models,LLMs) 作为目标驱动的智能体被越来越多地用于与外部环境 (例如,游戏、编译器、API 等) 进行交互。然而,由于传统的强化学习方法需要大量的训练样本和昂贵的模型微调,这些语言智能体快速有效地从试错中学习仍然具有挑战性。我们提出了一种新的框架 Reflex,它不是通过更新权重来加强语言代理,而是通过语言反馈来加强语言代理。具体来说,反应主体会对任务反馈信号进行言语反思,然后在情景记忆缓冲器中保持自己的反射性文本,以便在随后的试次中诱发更好的决策。反射足够灵活,可以包括各种类型 (标量值或自由形式的语言)
# 1. 引言
最近的工作如 ReAct [30]、SayCan [ 1 ]、Toolformer [ 22 ]、HuggingGPT [ 23 ]、生成式 Agent [ 19 ]、WebGPT [ 17 ] 等已经证明了构建在大型语言模型 (lar ...
Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond
# 在实践中利用 LLMs 的能力:对 Chatgpt 和更大范围的调研
原论文:Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond
本文为从事大型语言模型 (Large Language Models,LLMs) 工作的从业者和最终用户在其下游自然语言处理 ( Natural Language Processing,NLP ) 任务中提供了一个全面而实用的指南。我们从模型、数据和下游任务的角度对 LLMs 的使用提供了讨论和见解。首先,我们对现有的 GPT 型和 BERT 型 LLM 进行了简单的介绍和总结。然后,我们讨论了预训练数据、训练数据和测试数据的影响。最重要的是,我们对各种自然语言处理任务的大型语言模型的使用和非使用情况进行了详细的讨论,例如知识密集型任务、传统的自然语言理解任务、自然语言生成任务、突现能力和注意事项
# 1. INTRODUCTION 导语
近年来,大语种模型的快速发展使自然语言处理领域发生了革命性的变化。这些强大的模型在解决各种各样的 NLP 任务方面表现出了 ...
ac平台在Jupyter Notebook中使用自定义conda环境
# 基本步骤
本文使用的 dtk 版本为 22.10.1,其他版本应该也可用。
# 使用 conda
本文默认已经配置好了 conda 环境(要求 python==3.7,与 jupyter 环境一致)
使用命令
1conda env list
列出当前存在的 conda 环境,如果不包含需要的环境需要根据 超算ac平台使用conda搭建pytorch环境 自行创建和配置。
推荐使用平台上存在的预置 conda 环境,这样可以节省很多手动下载安装依赖的时间。
本文选取的是当前平台上存在的预置环境 pytorch1.10.0a0-py37-dtk22.04.2
123# 本文选取当前平台上存在的预置环境pytorch1.10.0a0-py37-dtk22.04.2[xxxxx@login08]$ conda activate pytorch1.10.0a0-py37-dtk22.04.2(pytorch1.10.0a0-py37-dtk22.04.2) [xxxxxx@login08]$
# 创建 Jupyter Notebook 环境
在 ac 平台创建 Notebook 环境,选择 ...
ac平台使用conda搭建pytorch环境
# 基本步骤
本文使用的 dtk 版本为 22.10.1,其他版本应该也可用。
# 启用 conda
1234567module purgemodule load compiler/devtoolset/7.3.1module load mpi/hpcx/2.11.0/gcc-7.3.1module load compiler/dtk/22.10.1module load apps/anaconda3/5.2.0conda env list # 默认只有base环境
# 创建并启用自定义环境
123conda create -n env_name python=3.8 # env_name 为自己定义的环境名称 python版本根据需要来自行选择conda activate env_name#(env_name) [acg1fa4eq1@login05 ~]$
注:要注意安装的 python 版本和 pytorch 以及 dtk 的对应关系
下载并安装下面的依赖
12345678# 下面的包对应的都是 py38-dtk22.10的版本。其他版本需要自行从开发者社区中下载# 下载链接: ...
ac平台部署Fooocus(Stable Diffusion非官方版本)
# 关于 Fooocus
fooocus 是对 Stable Diffusion 的非官方开源实现,其可以轻松实现离线图像生成,并且部署十分方便。
https://github.com/lllyasviel/Fooocus/tree/main
# 下载和安装
进入 Eshell,加载 pytorch dtk23.04 环境
123module rm compiler/rocm/2.9module load compiler/rocm/dtk-23.04module load apps/DeepLearning/PyTorch/1.13.1/pytorch-1.13.1-py3.9-dtk23.04
克隆官方仓库 (这里同样是我自己创建的镜像仓库)
12git clone https://gitee.com/Cerber2ol8/Fooocus.gitcd Fooocus
克隆 comfyUI 的仓库
1234mkdir repositories && cd repositoriesgit clone https://gitee.com/Cerber2ol8/Comfy ...
ac平台部署Stable Diffusion官方版本(无webui)
# ac 平台部署 Stable Diffusion 记录
# 官方版本(无 webui)
sd 官方仓库 https://github.com/Stability-AI/StableDiffusion
# 环境配置
进入 Eshell,加载 pytorch dtk23.04 环境
123module rm compiler/rocm/2.9module load compiler/rocm/dtk-23.04module load apps/DeepLearning/PyTorch/1.13.1/pytorch-1.13.1-py3.9-dtk23.04
在登陆节点下载依赖
1pip install transformers==4.19.2 diffusers invisible-watermark
下载官方仓库
12# 超算服务器无法正常访问github,该链接为官方仓库同步镜像git clone https://gitee.com/Cerber2ol8/StableDiffusion
安装依赖
首先修改 requirements.txt,否则会由于找不到合适版本的包无限循环
12 ...
4. 3d unet : 基于稀疏标注的稠密体分割学习
# 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation
Abstract. This paper introduces a network for volumetric segmentation that learns from sparsely annotated volumetric images. We outline two attractive use cases of this method: (1) In a semi-automated setup, the user annotates some slices in the volume to be segmented. The network learns from these sparse annotations and provides a dense 3D segmentation. (2) In a fully-automated setup, we assume that a representative, spar ...
project-joee-readme
# projectJoee
更新时间 2023-03-29
# 软件整体架构和逻辑
TODO:具体描述
# 整体架构
# 主程序流程图
# 任务数据流
# 功能模块
该项目主要分为主程序模块(包含主界面部分和控制逻辑,配置项相关逻辑),核心功能模块(检测算法实现、采集卡相机控制实现、数据库调用实现、开发工具集、外部插件接口实现、虚拟设备实现等),以及通过接口实现的外部插件功能模块(图标功能插件、串口报警器插件、相机串口控制插件、debug 控制台插件等可扩展插件)
其中主程序模块和核心功能模块(位于 core 目录下),是主程序运行所必须的部分,插件功能模块(位于 plugins 目录下) 是可以根据插件模块文件是否存在动态添加去除的。
# 主程序模块
Windalsa: 主要业务逻辑实现
子类:
MainWnd.cs: 主窗体,是程序的主要框架,负责主要业务逻辑和实现外部插件加载
Lists.cs: 自定义列表和控件数组
Plugins.cs: 实现插件加载和抽象接口调用
Utilties.cs: 扩展工具
CustomException.cs: 自定义异常 ...