├── .gitignore ├── Base-neural-network.md ├── CUDA ├── README.md └── 常见问题1.md ├── Computer-vision ├── CV.md ├── OCR.md └── Object-detection.md ├── Datasets.md ├── Dialogue-system ├── Dialog-generation.md ├── KBQA.md ├── Open-domain-dialogue.md ├── Retrieval-based-dialogue.md ├── Task-orented-dialogue-system.md ├── Text2SQL.md ├── datasets.md └── dialogue-system.md ├── Document-understanding ├── Doc-understanding.md ├── Document-layout.md └── PDF-Parser.md ├── In-context-learning.md ├── Information-extraction ├── Event-extraction.md ├── Information-extraction.md ├── Keyphrase-extraction.md ├── Relation-extraction.md └── Topic-model.md ├── KG ├── KG.md └── Multi-modal-KG.md ├── Large-language-model ├── Agent.md ├── CoT.md ├── Framework.md ├── LLM.md ├── RAG.md ├── RLHF.md ├── Reward-model.md ├── Vertical-domain-llm.md ├── available-llm-01.md ├── available-llm.md ├── datasets.md ├── finetune.md ├── llm-finetune-long-context.md ├── long-sequence-extension.md ├── nlp-task-chatgpt.md ├── nlp-task-llm-finetune.md ├── o1-series.md └── reward-model-loss.md ├── Low-rank-decomposition.md ├── Machine-learning.md ├── Model-acceleration ├── llm-model-acceleration.md ├── model-acceleration.md └── vllm.md ├── Multi-task-learning.md ├── MultiModal ├── MultiModal-learning.md └── Speech-LLM │ ├── audio-codec.md │ ├── other.md │ ├── speech2speech_v1.md │ ├── speech2speech_v2.md │ └── speech2speech_v3.md ├── NER ├── NER.md └── unified-ner.md ├── Other.md ├── PEFT ├── Lora.md └── Parameter-efficient-finetune.md ├── Paper-writing.md ├── Pretrained-language-model.md ├── Programming-language └── C&C++.md ├── Prompt-learning.md ├── Quantization ├── llm-quantization.md └── quantization.md ├── README.md ├── Recommendation-system ├── CTR.md └── Recommendation-system.md ├── Reinforce-learning ├── Reinforce-learning.md └── TRPO&PPO.md ├── Sentiment-analysis ├── Aspect-based-setiment-analysis.md └── Sentiment-analysis.md ├── Some-NLP-Task ├── Coreference-resulation.md ├── MRC.md ├── NLI.md ├── NLP-basic-task.md ├── Text-classification.md ├── Text-correction.md ├── Text-generation.md └── Text-summary.md ├── TTS-And-STT.md ├── Table-understanding.md ├── Text-retrieval ├── dataset.md ├── text-embeddding.md └── text-retrieval.md ├── assets ├── BiLoRA.png ├── CRNN.png ├── FFTNet ├── GRPO.png ├── HMCN-F.png ├── KTO.png ├── LLaMA-Omni.png ├── LoRD.png ├── MELoRA.png ├── MIniCPT-o.png ├── MinMo.png ├── Mini.png ├── Mini_Omni.png ├── Moshi-input.png ├── Moshi_joint_repre.png ├── Moshi_loss.png ├── P-Tuning-v2.png ├── PFRN.png ├── PI.png ├── RCNN.png ├── RMRank.png ├── RQ-Transformer.png ├── SDCUP1.png ├── SDCUP2.png ├── StepAudio.png ├── alphago.png ├── alphago_zero.png ├── csm01.png ├── csm02.png ├── ernie-layout.png ├── glm4-voice-tokenizer-decoder.png ├── instructGPT1.png ├── instructGPT2.png ├── kimi1_5_len_reward.png ├── lilt.png ├── lora.jpg ├── mini_omni_loss.png ├── mixlora.png ├── omni_parallel_decoding.png ├── pick.png ├── reward.png ├── seamlessM4T ├── tabularNet.png ├── tapas.png ├── tatqa.png ├── templateNER.png ├── vllm-schedule.png ├── whisper └── xFormer.png ├── awesome-DL-blog ├── Base-deep-learning.md ├── Contrastive-learning.md ├── Data-augmentation.md ├── Information-extraction │ ├── Keyphrase-extraction.md │ ├── Other.md │ └── Topic-model.md ├── Large-language-model │ ├── LLM.md │ └── RLHF.md ├── ML.md ├── Metric-learning.md ├── MoE.md ├── Model-acceleration │ ├── Model-compression.md │ ├── Model-deployment.md │ └── llm-model-acceleration.md ├── Multi-modal.md ├── Multi-task-learning.md ├── OCR.md ├── Other.md ├── PEFT.md ├── Prompt-learning.md ├── README.md ├── RL.md ├── Recommendation-system.md └── Some-NLP-Task │ ├── Coreference-resulation.md │ ├── Dialogue-system.md │ ├── Document-understanding.md │ ├── Event-extraction.md │ ├── Few-shot-learning.md │ ├── KG.md │ ├── MRC.md │ ├── NER.md │ ├── NLI.md │ ├── NLP-basic-task.md │ ├── PTLM.md │ ├── RE.md │ ├── Search-system.md │ ├── Sentiment-analysis.md │ ├── Seq2seq.md │ ├── Table-understanding.md │ ├── Text-classification.md │ ├── Text-correction.md │ ├── Text-embedding.md │ └── Text-retrieval.md └── template.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | 4 | test.* -------------------------------------------------------------------------------- /Base-neural-network.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## mix 7 | 8 | - End-To-End Memory Networks 9 | - year: 2015 NeuralIPS 10 | - 阅读笔记: 11 | 1. 给定一个memory set,通过一个矩阵A映射到一个向量空间,与query embedding进行点积计算,使用softmax计算weights 12 | 2. 将memory set通过一个矩阵C映射到一个向量空间,使用weights加权后得到输出 13 | 3. 将输出向量和query向量相加后,通过一个线性层softmax计算概率分布 14 | - code: 15 | 16 | 17 | ## Normalization 18 | 19 | - Layer Norm 20 | 21 | - Batch Norm 22 | 23 | - Root Mean Square Layer Normalization 24 | - RMSNorm 25 | - 相比Layer Norm,分子去掉了减去均值部分,分母的计算使用了平方和的均值再开 26 | 平方 27 | 28 | - DeepNorm 29 | - 对Post-LN的改进 30 | - 以alpha参数来扩大残差连接,LN(alpha * x + f(x)) 31 | - 在Xavier初始化过程中以Bata减小部分参数的初始化范围 32 | 33 | 34 | ## activation func 35 | 36 | - Gaussian Error Linear Units(GELUs) 37 | - GELU,Relu的平滑版本 38 | - 处处可微,使用了标准正态分布的累计分布函数来近似计算 39 | 40 | - Swish: a Self-Gated Activation Function 41 | - Swish 42 | - 处处可微,使用了beta来控制函数曲线形状 43 | - 函数为f(x) = x * sigmoid(betan * x) 44 | 45 | - SwiGLU 46 | - 是Swish激活函数和GLU(门控线性单元)的结合 47 | - GLU使用sigmoid函数来控制信息的通过,GLU = sigmoid(xW+b) 矩阵点积操作 48 | (xV + c) 49 | - SwiGLU: swish(xW+b) 矩阵点积操作 (xV + c) 50 | 51 | 52 | ## Loss 53 | 54 | - [PolyLoss超越Focal Loss](https://mp.weixin.qq.com/s/4Zig1wXNDHEjmK1afnBw4A) -------------------------------------------------------------------------------- /CUDA/README.md: -------------------------------------------------------------------------------- 1 | 2 | # CUDA 3 | 4 | - cuda在线文档:https://developer.nvidia.com/cuda-toolkit-archive 5 | - CUDA C++ Programming Guide 6 | - https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html 7 | - [超算习堂](https://easyhpc.net/course) 8 | - cuda github:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode 9 | 10 | ## cuda基础入门 11 | 12 | - [显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn介绍](https://zhuanlan.zhihu.com/p/91334380) 13 | - 多版本cuda管理 14 | - [详解PyTorch编译并调用自定义CUDA算子的三种方式](https://mp.weixin.qq.com/s/rG43pnWY8fBjyIX-mFWTqQ) 15 | - [教你用 Cuda 实现 PyTorch 算子](https://mp.weixin.qq.com/s/YwxhvjhqxYy_ejBOt0bkrQ) 16 | - [Cuda编程:基础知识](https://blog.csdn.net/qq_44753080/article/details/136528574?spm=1001.2014.3001.5506) 17 | 18 | 19 | # CUDA书籍和在线课程 20 | 见我的Repo:https://github.com/xueyongfu11/CUDA-Basics 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /CUDA/常见问题1.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## 线程块、线程网格和索引的计算 6 | 7 | CUDA 中的线程块(block)和线程网格(grid)是多维的。默认情况下,`blockIdx` 和 `threadIdx` 都是三维的,分别包含 x、y、z 维度的索引。所以,在 CUDA 中每个线程块(block)可以有多个维度(如:`blockIdx.x`, `blockIdx.y`, `blockIdx.z`),每个线程也可以在多个维度上进行索引(如:`threadIdx.x`, `threadIdx.y`, `threadIdx.z`)。 8 | 9 | 然而,实际上你不一定需要使用所有的维度。如果你的问题是二维或一维的,你可以只使用 `x` 维度,省略 `y` 和 `z` 维度。**因此具体使用哪些维度,主要是根据所要计算的数据决定的,当然与计算方法也有一定关系。** 10 | 11 | 具体来说: 12 | 13 | - **blockIdx**: 用于表示线程块在网格中的位置。`blockIdx.x` 表示块在 x 维度上的位置,`blockIdx.y` 和 `blockIdx.z` 分别表示 y 和 z 维度上的位置。 14 | - **threadIdx**: 用于表示线程在当前线程块中的位置。`threadIdx.x` 表示线程在 x 维度上的位置,`threadIdx.y` 和 `threadIdx.z` 分别表示 y 和 z 维度上的位置。 15 | 16 | 17 | 18 | **一维列表计算例子** 19 | 20 | ```c++ 21 | __global__ void vecAdd(const double *x, const double *y, double *z, const int N) 22 | { 23 | // 计算当前线程在一维数据中的全局索引 24 | const int index = blockDim.x * blockIdx.x + threadIdx.x; 25 | 26 | // 判断索引是否超出数组的边界 27 | if (index < N) 28 | { 29 | // 进行数组元素的加法 30 | z[index] = x[index] + y[index]; 31 | } 32 | } 33 | 34 | ``` 35 | 36 | 有似于对数据进行分段。 37 | 38 | 39 | 40 | **二维网格计算例子** 41 | 42 | ```c++ 43 | __global__ void vecAdd(const double *x, const double *y, double *z, const int N) 44 | { 45 | const int index_x = blockDim.x * blockIdx.x + threadIdx.x; 46 | const int index_y = blockDim.y * blockIdx.y + threadIdx.y; 47 | const int index = index_y * gridDim.x * blockDim.x + index_x; 48 | if (index < N) 49 | { 50 | z[index] = x[index] + y[index]; 51 | } 52 | } 53 | 54 | ``` 55 | 56 | 类似对二维网格,划分成多个小的二维网格。 57 | 58 | 其中`gridDim.x * blockDim.x`其实就是`x`方向的行的数量,比如对于一个`M*N`(x方向, y方向)的网格,那么`gridDim.x * blockDim.x`其实就是M。 59 | 60 | 61 | 62 | **通用的全局索引计算** 63 | 64 | ```c++ 65 | __global__ void print_thread_idx_per_grid_kernel() 66 | { 67 | // 一个block中含有的线程数量 68 | int bSize = blockDim.z * blockDim.y * blockDim.x; 69 | 70 | // block的全局index号 71 | int bIndex = blockIdx.z * gridDim.x * gridDim.y + 72 | blockIdx.y * gridDim.x + 73 | blockIdx.x; 74 | 75 | // block内的线程索引 76 | int tIndex = threadIdx.z * blockDim.x * blockDim.y + 77 | threadIdx.y * blockDim.x + 78 | threadIdx.x; 79 | 80 | // 全局唯一索引 81 | int index = bIndex * bSize + tIndex; 82 | 83 | printf("block idx: %3d, thread idx in block: %3d, thread idx: %3d\n", 84 | bIndex, tIndex, index); 85 | } 86 | 87 | 88 | ``` 89 | 90 | ## cudaMalloc的参数解释 91 | 92 | ```c++ 93 | // 调用 cudaMalloc 分配内存 94 | cudaMalloc((void **)&d_z, M); 95 | ``` 96 | 97 | cudaMalloc 函数的第一个参数:(void \*\*)&d_z,cudaMalloc 函数需要一个类型为 void \*\* 的参数。这个参数的作用是传递一个指针的地址,以便 cudaMalloc 在执行时能够修改它,让它指向分配的设备内存。 98 | 99 | cudaMalloc 函数会修改传入的指针,使它指向 GPU 上分配的内存。 100 | 101 | 当调用 cudaMalloc 时,你给它传入的是 &d_z(即 double ** 类型),所以 cudaMalloc 会将 d_z 指向 GPU 上分配的内存块。 102 | 103 | cudaMalloc 会在内部修改 d_z 的值,使得它指向实际的设备内存。为了能让 d_z 在函数外部也能反映这个修改,必须通过 &d_z 传递它的地址,也就是传递指向指针的指针(void **)。 104 | 105 | ## CUDA核心与线程的关系 106 | 107 | **GPU线程的实际含义:** 108 | 109 | - GPU线程(Thread)在GPU编程模型(例如CUDA或OpenCL)中,是一个逻辑上的概念。 110 | - GPU同时管理数以万计的线程,但并不是所有线程同时运行,而是分批调度执行。 111 | 112 | **CUDA核心的实际含义:** 113 | 114 | - CUDA核心本质上是GPU中负责执行**单个简单指令**(比如一次浮点运算)的基本执行单元,类似于CPU的算术逻辑单元(ALU)。 115 | - 一个CUDA核心每个时钟周期只能执行一个简单操作(例如一次浮点加法或乘法)。 116 | 117 | **实际执行情况:** 118 | 119 | - GPU线程以**Warp**(在NVIDIA中,Warp通常包含32个线程)为单位调度。一个Warp内的32个线程会同步执行同一条指令(SIMT模型)。 120 | - 当GPU执行一个Warp(32个线程)时,如果这个Warp调度到Streaming Multiprocessor (SM) 上,而SM中有足够的CUDA核心(例如32个CUDA核心),则该Warp的全部32个线程会同时并行执行,每个CUDA核心执行一个线程的同一条指令。 121 | - 如果Warp大小超过CUDA核心的数量(或者可用核心不足),那么GPU则需要多次执行(多个时钟周期)才能完成Warp中所有线程的运算。 122 | 123 | **关键的理解:** 124 | 125 | - CUDA线程是逻辑抽象的概念,用于管理并行性和任务。 126 | - CUDA核心是物理单元,是线程任务在硬件上实际执行的地方。 127 | - CUDA核心可以在不同时间点执行不同的线程指令,因此**线程数远远大于CUDA核心数**是很正常的情况(GPU往往同时管理上万个线程,但物理CUDA核心数量却只有几百或几千个)。 128 | 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /Computer-vision/CV.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | 7 | - https://github.com/pytorch/vision 8 | 9 | - https://github.com/jbhuang0604/awesome-computer-vision 10 | - https://github.com/donnyyou/torchcv 11 | - https://github.com/facebookresearch/detectron2 12 | - https://github.com/soumith/ganhacks 13 | - https://github.com/hoya012/deep_learning_object_detection 14 | - https://github.com/zonechen1994/CV_Interview 15 | - https://github.com/xiaofengShi/CHINESE-OCR 16 | - https://github.com/facebookresearch/detectron2 17 | - https://github.com/open-mmlab/mmocr 18 | 19 | # Paper 20 | 21 | - Emerging Properties in Self-Supervised Vision Transformers 22 | 23 | - [理解卷积神经网络中的自注意力机制](https://mp.weixin.qq.com/s/-mfCdBTQhu99k4JubOAFAQ) 24 | 25 | -------------------------------------------------------------------------------- /Computer-vision/OCR.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | 7 | - https://github.com/madmaze/pytesseract 8 | - https://github.com/roatienza/straug 9 | - https://github.com/open-mmlab/mmdetection 10 | - https://github.com/JaidedAI/EasyOCR 11 | - PaddleOCR 文字检测,文字识别,关键信息抽取,文档版面解析,文档表格解析 https://github.com/PaddlePaddle/PaddleOCR 12 | - https://github.com/open-mmlab/mmocr 13 | - layout-parsr https://github.com/Layout-Parser/layout-parser 14 | - https://github.com/tesseract-ocr/tesseract 15 | - GUI工具 https://github.com/manisandro/gImageReader 16 | 17 | - https://github.com/JiaquanYe/TableMASTER-mmocr 18 | - 平安产险提出TableMASTER 19 | 20 | - [竞赛总结:科大讯飞2023 表格结构识别挑战赛](https://mp.weixin.qq.com/s/tXDmOi-K7So_XWvvZHKkxQ) 21 | 22 | # Paper 23 | 24 | - [OCR技术发展综述与实践](https://mp.weixin.qq.com/s/Wf6zmy1PNwnrG8G_RMH4qQ) 25 | 26 | - OCR-free Document Understanding Transformer 27 | - https://github.com/clovaai/donut 28 | 29 | - End-to-end object detection with Transformers 30 | - https://github.com/facebookresearch/detr 31 | 32 | - An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition 33 | - CRNN 34 | - 先使用cnn进行特征抽取,得到高度为1的特征图,然后输入到双向lstm中,最后经过一个ctc模块计算loss 35 | - ctc loss的计算:关键是计算所有有效的对齐路径的得分总和,一般使用动态规划的方法计算loss 36 | - [CTC算法详解](https://zhuanlan.zhihu.com/p/88645033) 37 | 38 | # Datasets 39 | 40 | - [ICDAR2015](https://rrc.cvc.uab.es/?ch=4&com=downloads) 41 | - docbank 文本和layout分析文档数据集 https://github.com/doc-analysis/DocBank 42 | - 无标注的CDIP文档数据集 https://ir.nist.gov/cdip/ 43 | - Layout检测,中文数据集 https://github.com/buptlihang/CDLA 44 | - macrosoft文档智能开源数据 https://github.com/orgs/doc-analysis/repositories 45 | - 文档阅读顺序数据集 https://github.com/doc-analysis/ReadingBank 46 | - http://www.nlpr.ia.ac.cn/databases/handwriting/Download.html 47 | -------------------------------------------------------------------------------- /Computer-vision/Object-detection.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - https://github.com/tinyvision/damo-yolo 4 | 5 | - [YOLO家族系列模型的演变:从v1到v8(上)](https://zhuanlan.zhihu.com/p/599176351) 6 | - [YOLO家族系列模型的演变:从v1到v8(下)](https://zhuanlan.zhihu.com/p/599385089) 7 | 8 | - DETRs Beat YOLOs on Real-time Object Detection 9 | - https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdetr 10 | 11 | -------------------------------------------------------------------------------- /Datasets.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 中文数据集 7 | 8 | - https://github.com/InsaneLife/ChineseNLPCorpus 9 | - 中文各个nlp任务数据集 10 | 11 | - https://github.com/brightmart/nlp_chinese_corpus 12 | 13 | - https://github.com/CLUEbenchmark/CLUEDatasetSearch 14 | - CLUE:搜索所有中文NLP数据集,附常用英文NLP数据集 15 | 16 | - https://github.com/liucongg/NLPDataSet 17 | - 中文各个nlp任务数据集 18 | 19 | - THUOCL:清华大学开放中文词库:http://thuocl.thunlp.org/ 20 | 21 | 22 | ### 通用语料 23 | 24 | - https://github.com/nonamestreet/weixin_public_corpus 25 | - 微信公众号语料库 26 | 27 | - 超对称:https://bbt.ssymmetry.com/data.html 28 | - 通用语料、金融语料 29 | 30 | - 中文法律数据 31 | - https://github.com/guoxw/wenshu- 裁判文书数据集 32 | - https://github.com/pengxiao-song/awesome-chinese-legal-resources 33 | - 本仓库致力于收集和整理全面的中国法律数据资源,旨在帮助研究人员及从业者展开工作 34 | 35 | - 维基百科json版(wiki2019zh) 36 | - [google](https://drive.google.com/file/d/1EdHUZIDpgcBoSqbjlfNKJ3b1t0XIUjbt/view?usp=sharing) 37 | - [baidu](https://pan.baidu.com/s/1uPMlIY3vhusdnhAge318TA) 38 | - 可以做为通用中文语料,做预训练的语料或构建词向量,也可以用于构建知识问答。 39 | 40 | - 新闻语料json版(news2016zh) 41 | - [google](https://drive.google.com/file/d/1TMKu1FpTr6kcjWXWlQHX7YJsMfhhcVKp/view?usp=sharing) 42 | - [baidu pw:k265](https://pan.baidu.com/s/1MLLM-CdM6BhJkj8D0u3atA) 43 | - 可以用于训练【标题生成】模型,或训练【关键词生成】模型(选关键词内容不同于标题的数据);亦可以通过新闻渠道区分出新闻的类型。 44 | - 包含了250万篇新闻。新闻来源涵盖了6.3万个媒体,含标题、关键词、描述、正文。( 原始数据9G,压缩文件3.6G;新闻内容跨度:2014-2016年) 45 | 46 | - 百科类问答json版(baike2018qa) 47 | - [google](https://drive.google.com/open?id=1_vgGQZpfSxN_Ng9iTAvE7hM3Z7NVwXP2) 48 | - [baidu pw:fu45](https://pan.baidu.com/s/12TCEwC_Q3He65HtPKN17cA) 49 | - 含有150万个预先过滤过的、高质量问题和答案,每个问题属于一个类别。总共有492个类别,其中频率达到或超过10次的类别有434个。 50 | - 可以做为通用中文语料,训练词向量或做为预训练的语料;也可以用于构建百科类问答;其中类别信息比较有用,可以用于做监督训练,从而构建更好句子表示的模型、句子相似性任务等。 51 | 52 | - 百度百科 53 | - 只能自己爬,爬取得链接:`https://pan.baidu.com/share/init?surl=i3wvfil` 提取码 neqs 54 | 55 | - 维基百科数据集 56 | - https://dumps.wikimedia.org/ 57 | 58 | 59 | ## 英文数据集 60 | 61 | - https://gluebenchmark.com/tasks 62 | - GLUE 63 | 64 | - [GLUE](https://gluebenchmark.com/) 65 | 66 | 67 | 68 | ## 数据平台 69 | 70 | - [CLUE](https://www.cluebenchmarks.com/index.html) 71 | 72 | - [千言中文数据集](https://www.luge.ai/#/) 73 | 74 | - [智源指数CUGE](http://cuge.baai.ac.cn/#/) 75 | 76 | - [天池数据集](https://tianchi.aliyun.com/dataset) 77 | 78 | - [超神经](https://hyper.ai/datasets) 79 | 80 | - [Huggingface dataset](https://huggingface.co/datasets) 81 | 82 | - [Kaggle dataset](https://www.kaggle.com/datasets) 83 | 84 | - [Paper With Code 数据集](https://www.paperswithcode.com/datasets) 85 | 86 | - [Google dataset](https://datasetsearch.research.google.com/) 87 | 88 | - 中文语料小数据 89 | - 包含了中文命名实体识别、中文关系识别、中文阅读理解等一些小量数据。 90 | - https://github.com/crownpku/Small-Chinese-Corpus 91 | 92 | -------------------------------------------------------------------------------- /Dialogue-system/Dialog-generation.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # Other 4 | 5 | - https://github.com/Morizeyao/GPT2-Chinese 6 | 7 | ## 基于预训练语言模型的对话机器人 8 | 9 | - 中文GPT模型 https://github.com/thu-coai/CDial-GPT 10 | - 提供了中文对话数据集 11 | 12 | - 基于GPT+NEZHA的预训练语言模型 https://github.com/bojone/nezha_gpt_dialog 13 | 14 | - 中文GPT2 https://github.com/yangjianxin1/GPT2-chitchat 15 | - 在对话生成方向,GPT1和GPT2的模型是相同的 16 | - 该模型的发布的使用效果一般 17 | 18 | - https://github.com/microsoft/ProphetNet 19 | - 包含中英文 20 | 21 | 22 | # Paper 23 | 24 | - Paper: EVA2.0: Investigating Open-Domain Chinese Dialogue Systems with Large-Scale Pre-Training 25 | - year: 26 | - 阅读笔记: 27 | 1. 使用unilm模型结构 28 | 2. 更好的数据清洗策略:句对相关性得分,句子流畅性,句子娱乐倾向性 29 | 3. 在多个方面探索模型性能:模型层数,解码方式,解码重复问题处理,预训练方式(从头训练,在训练好模型上再训练) 30 | 4. 结果相对CDial-GPT有很大提高 31 | - code: https://github.com/thu-coai/EVA 32 | 33 | - Paper: RetGen: A Joint framework for Retrieval and Grounded Text Generation Modeling 34 | - year: 35 | - 阅读笔记: 36 | 1. 将文本生成和外部文档结合进行回复生成 37 | 2. 将query和doc进行点积计算,找回少量文档 38 | 3. 将召回的每个文档和query,y[1:t-1]concate,预测y[t] 39 | 4. 比如找回4个文档,得到4个y[t]分布,综合考虑 40 | 5. RetGen can generate more relevant, interesting and human-like text comparing to vanilla DialoGPT or GPT-2. 41 | - code: https://github.com/dreasysnail/RetGen 42 | 43 | ## Pre-trained-model-for-generation 44 | 45 | - Paper: PLATO-2: Towards Building an Open-Domain Chatbot via Curriculum Learning 46 | - year: 2021 47 | - 阅读笔记: 48 | 1. two stage:第一阶段使用基本的unilm进行one-to-one模型的训练,目的是学习通用的文本生成能力 49 | 2. 第二阶段:第一阶段的模型分别copy到两个模型:多样回复生成模型和回复连贯性评估模型 50 | 3. 多样性回复生成模型类似去掉了回复选择任务的Plato-v1 51 | 4. 回复连贯性评估模型:与plato-v1中的回复选择模型不同,response和context分别加上隐变量z,句首加CLS进行分类。推理时,预测多次采样生成的z预测出的回复的得分 52 | - code: https://github.com/PaddlePaddle/ Knover/tree/develop/projects/PLATO-2 53 | 54 | - Paper: PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable 55 | - year: 2020 56 | - 阅读笔记: 57 | 1. 模型输入:tokens,role embedding, relative turn embedding(current turn为0),pos embedding 58 | 2. 隐变量z:训练时先用context,response计算z,推理时采样z,生成response,采样不同的z得到不同的response 59 | 3. LOSS:NLL loss,BOW loss(通过z和context,无顺序的预测response中的token),response select loss(真实response,sample response,使用隐变量token接全连接进行分类) 60 | - code: https://github.com/PaddlePaddle/ Research/tree/master/NLP/Dialogue-PLATO 61 | 62 | - Paper: DIALOGPT : Large-Scale Generative Pre-training for Conversational Response Generation 63 | - year: 2020 微软 64 | - 阅读笔记: 65 | 1. 使用GPT2 66 | 2. 使用MMI,是一个问题,回复的逆序拼接数据训练出来的GPT2模型 67 | 3. 给生成的topk使用MMI模型打分,loss替代 68 | 4. 选择loss最小的response作为最终的结果进行回复 69 | - code: https://github.com/microsoft/DialoGPT 70 | -------------------------------------------------------------------------------- /Dialogue-system/KBQA.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Repo 7 | - https://github.com/pkumod/gAnswer 8 | - 北京大学开源:基于文本解析、歧义消除以及子图匹配获取最终答案的KBQA工具 9 | - KGQA paper,code等 https://github.com/BshoterJ/awesome-kgqa 10 | - 医疗知识图谱问答 https://github.com/liuhuanyong/QASystemOnMedicalKG 11 | - https://github.com/ZihengZZH/awesome-multimodal-knowledge-graph 12 | - https://github.com/songjiang0909/awesome-knowledge-graph-construction 13 | - https://github.com/totogo/awesome-knowledge-graph 14 | - https://github.com/neo4j-contrib/neo4j-graph-algorithms 15 | - https://github.com/RUCAIBox/KBQAPapers 16 | - https://github.com/WenRichard/KBQA-BERT 17 | - https://github.com/xiaobaicxy/Operator_QA_Based_KB 18 | 19 | 20 | ## datasets 21 | - SQA https://msropendata.com/datasets/b25190ed-0f59-47b1-9211-5962858142c2 22 | - CAQA https://amritasaha1812.github.io/CSQA/ 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Dialogue-system/Open-domain-dialogue.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | 7 | - https://github.com/DengBoCong/nlp-dialogue 8 | -------------------------------------------------------------------------------- /Dialogue-system/Retrieval-based-dialogue.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | 7 | - https://github.com/gunthercox/ChatterBot 8 | - 基于回复选择的问答系统框架 9 | 10 | - https://github.com/alibaba/esim-response-selection 11 | 12 | - https://github.com/Nikoletos-K/QA-with-SBERT-for-CORD19 13 | 14 | - https://github.com/SadeemAlharthi/Arabic_Question-Answering_System_Using_Search_Engine_Techniques 15 | 16 | - baidu AnyQ https://github.com/baidu/AnyQ 17 | 18 | - https://colab.research.google.com/drive/1tcsEQ7igx7lw_R0Pfpmsg9Wf3DEXyOvk#scrollTo=ZiXOVpeutyWg 19 | 20 | - https://github.com/baidu/Dialogue/tree/master/DAM 21 | 22 | - https://github.com/gunthercox/ChatterBot 23 | 24 | - https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/question_answering/faq_system/ 25 | - paddle政务问答系统 26 | 27 | 28 | # Paper 29 | 30 | - 检索式聊天机器人技术综述 31 | - year: 2021 32 | - 阅读笔记: 33 | 1. 叙述了检索式聊天机器人的四种常见建模方法,以及相关方法的优缺点,并分析了当前检索式聊天机器人面临的问题 34 | 2. 个人:每种方法体系都没有做很深的介绍,只是一个简单的概述 35 | 36 | - ConveRT: Efficient and Accurate Conversational Representations from Transformers 37 | - year: 2020 38 | - 阅读笔记: 39 | 1. 一种快并且有效的双塔结构且基于transformer的对话回复选择预训练模型架构 40 | 2. 使用sub-word,双位置编码相加,6层共享的transformer,单头注意力,未使用full注意力,不同层由浅到深使用更大的注意力窗,并使用量化感知方式进行参数学习 41 | 3. 模型在尺度,参数量,效率,效果都由很强的优势 42 | - code: 非官方 https://github.com/jordiclive/Convert-PolyAI-Torch 43 | 44 | - Multi-turn Response Selection using Dialogue Dependency Relations 45 | - year: 2020 EMNLP 46 | - 阅读笔记: 47 | 1. paper认为response依赖于不同的对话线,所有需要先对context分类出不同的对话线 48 | 2. 对不同的对话线分别encoding,表征的结果与candidate的表征计算attention,并得到context的表征,然后与candidate计算score 49 | - code: https://github.com/JiaQiSJTU/ResponseSelection. 50 | 51 | - Semantic Role Labeling Guided Multi-turn Dialogue ReWriter 52 | - year: 2020 EMNLP 53 | - 阅读笔记: 54 | 1. 使用unilm的文本生成方式进行对话重写 55 | 2. 训练出了一个在对话(多句,传统SRL无法使用)数据上的语义角色分析模型,来增强语义信息 56 | 3. 将树形的语义角色分析结果转成三元组,与context拼接。 57 | 4. 使用了角色类型,SRL类型,对话重写内容的segment type id;不同三元组之间不直接计算self-attention,三元组只和context计算attention;每个三元组内进行位置编码 58 | - code: 59 | 60 | - Improving Multi-turn Dialogue Modelling with Utterance ReWriter 61 | - year: 2019 ACL 62 | - 阅读笔记: 63 | 1. 基于encoder-decoder+point network的transformer模型 64 | 2. encoder和decoder的attention计算:encoder中的context,utterance要分别计算,然后concat 65 | 3. point network:分别计算context,utterance的注意力得分,并用一个0-1的拉姆达加权 66 | - code: https://github.com/chin-gyou/dialogue-utterance-rewriter -------------------------------------------------------------------------------- /Dialogue-system/Text2SQL.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | - https://github.com/yechens/NL2SQL 7 | - https://github.com/wangpinggl/TREQS 8 | 9 | 10 | # Paper 11 | 12 | 13 | 14 | - SDCUP: Schema Dependency-Enhanced Curriculum Pre-Training for Table Semantic Parsing 15 | -
16 | 阅读笔记: 17 | 1. 通过探索question和schema的关系,提出了table pre-train的两个预训练方法:schema依赖预测任务和实体扰动恢复任务
18 | 2. schema依赖预测:通过sql以及规则,使用biaffine attention来建立question和schema的关系和label,以交叉熵作为损失
19 | 3. 实体扰动恢复:通过对question中的存在依赖关系的实体交换,然后用模型预测真实的实体来恢复
20 | 4. MLM:对question的token进行mask,对schema中的column用相应的value来替代 21 | 22 | 23 |
24 | 25 | -------------------------------------------------------------------------------- /Dialogue-system/datasets.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Chinese 7 | 8 | ## Task-oriented dialogue system 9 | 10 | - Medical DS 11 | - 710个对话 67种症状 4种疾病 | 2018年 | Liu et al. | 复旦大学 12 | - [paper链接](http://www.sdspeople.fudan.edu.cn/zywei/paper/liu-acl2018.pdf) | [数据集链接](http://www.sdspeople.fudan.edu.cn/zywei/data/acl2018-mds.zip) 13 | 14 | - NLPCC2018 Shared Task 4 15 | - 中文呢真实商用车载语音任务型对话系统的对话日志. 5800对话 2.6万问题 | 2018年 16 | - [paper链接](http://tcci.ccf.org.cn/conference/2018/papers/EV33.pdf) 17 | - [训练开发集](http://tcci.ccf.org.cn/conference/2018/dldoc/trainingdata04.zip) [测试集](http://tcci.ccf.org.cn/conference/2018/dldoc/tasktestdata04.zip) 18 | 19 | - SMP-2020-ECDT 20 | - 这是一系类数据集,每年都会有新的数据集放出 21 | - 小样本对话语言理解数据集。论文中叫FewJoint 基准数据集,来自于讯飞AIUI开放平台上真实用户语料和专家构造的语料(比例大概为3:7),包含59个真实domain,目前domain最多的对话数据集之一,可以避免构造模拟domain,非常适合小样本和元学习方法评测。其中45个训练domain,5个开发domain,9个测试domain。 22 | - 数据集论文:https://arxiv.org/abs/2009.08138。 23 | 数据集下载地址:https://atmahou.github.io/attachments/FewJoint.zip 24 | 小样本工具平台主页地址:https://github.com/AtmaHou/MetaDialog 25 | 26 | - SMP-2019-NLU 27 | - 包含领域分类、意图识别和语义槽填充三项子任务的数据集 28 | 29 | - SMP-2017 30 | - 中文对话意图识别数据集,官方git和数据: [https://github.com/HITlilingzhi/SMP2017ECDT-DATA](https://github.com/HITlilingzhi/SMP2017ECDT-DATA) 31 | - 论文:[https://arxiv.org/abs/1709.10217 ](https://arxiv.org/abs/1709.10217) 32 | 33 | - 中文任务型对话系统数据集 https://github.com/thu-coai/CrossWOZ 34 | - 任务型对话数据集 https://github.com/sz128/NLU_datasets_with_task_oriented_dialogue 35 | - 任务型对话数据集 https://github.com/alexa/dialoglue 36 | - end to end dialogue dataset https://github.com/yizhen20133868/Retriever-Dialogue 37 | 38 | 39 | ## chitchat dataset 40 | 41 | - DuLeMon中文长时记忆对话数据集 42 | - Chatbot可以基于记住的用户画像信息进行深入聊天,体现长期记忆的能力;用途:提高对话系统的长期记忆能力 43 | - https://www.luge.ai/#/luge/dataDetail?id=60 44 | 45 | - Diamante中文开放域闲聊数据集 46 | - 机器辅助人工标注的中文闲聊数据集 47 | - https://www.luge.ai/#/luge/dataDetail?id=52 48 | 49 | - CDConv中文对话一致性检测数据集 50 | - 可用作闲聊数据集 51 | - https://www.luge.ai/#/luge/dataDetail?id=65 52 | 53 | - Tencent中文开放域对话数据集 54 | - https://www.luge.ai/#/luge/dataDetail?id=36 55 | 56 | - LUGE-Dialogue开放域对话数据集合 57 | - https://www.luge.ai/#/luge/dataDetail?id=26 58 | 59 | - LCCC开放域短文本对话数据集 60 | - https://www.luge.ai/#/luge/dataDetail?id=34 61 | 62 | - 豆瓣中文开放域对话数据集 63 | - https://www.luge.ai/#/luge/dataDetail?id=33 64 | 65 | - DuRecDial对话推荐数据集 66 | - https://www.luge.ai/#/luge/dataDetail?id=31 67 | 68 | - https://github.com/rustch3n/dgk_lost_conv 69 | - 中文电影对白语料,噪音比较大,许多对白问答关系没有对应好 70 | 71 | - https://github.com/kite1988/nus-sms-corpus 72 | - 包含中文和英文短信息语料,据说是世界最大公开的短消息语料 73 | 74 | - https://github.com/gunthercox/chatterbot-corpus/tree/master/chatterbot_corpus/data 75 | - ChatterBot聊天引擎提供的一点基本中文聊天语料,量很少,但质量比较高 76 | 77 | - https://github.com/rustch3n/dgk_lost_conv/tree/master/results 78 | - https://github.com/candlewill/Dialog_Corpus 79 | - 据传这就是小黄鸡的语料 80 | 81 | - https://github.com/Marsan-Ma/chat_corpus 82 | - chat corpus collection from various open sources 83 | - 包括:开放字幕、英文电影字幕、中文歌词、英文推文 84 | 85 | - chatterbot https://github.com/gunthercox/chatterbot-corpus/tree/master/chatterbot_corpus/data/chinese 86 | 87 | - douban(豆瓣多轮) https://github.com/MarkWuNLP/MultiTurnResponseSelection 88 | 89 | - ptt(PTT八卦语料) https://github.com/zake7749/Gossiping-Chinese-Corpus 90 | 91 | - qingyun(青云语料) 92 | 93 | - subtitle(电视剧对白语料) https://github.com/fateleak/dgk_lost_conv 94 | 95 | - tieba(贴吧论坛回帖语料) https://pan.baidu.com/s/1mUknfwy1nhSM7XzH8xi7gQ 密码:i4si 96 | 97 | - weibo(微博语料) 61.93.89.94/Noah_NRM_Data/ 98 | 99 | 100 | ## FAQ 101 | 102 | - https://github.com/Samurais/insuranceqa-corpus-zh 103 | -通过翻译 https://github.com/shuzi/insuranceQA 产生的数据集。train_data含有问题12,889条, 104 | 数据 141779条,正例:负例 = 1:10; test_data含有问题2,000条,数据 22000条,正例:负例 = 1:10; 105 | valid_data含有问题2,000条,数据 22000条,正例:负例 = 1:10 106 | 107 | - https://github.com/Samurais/egret-wenda-corpus 108 | -由白鹭时代官方论坛问答板块10,000+ 问题中,选择被标注了“最佳答案”的纪录汇总而成。人工review raw data,给每一个问题, 109 | 一个可以接受的答案。目前,语料库只包含2907个问答。 110 | 111 | - 地址:https://github.com/SophonPlus/ChineseNlpCorpus 112 | 113 | 114 | ## CQA(社区问答) 115 | 116 | - 社区问答json版(webtext2019zh) :大规模高质量数据集 117 | - [google](https://drive.google.com/open?id=1u2yW_XohbYL2YAK6Bzc5XrngHstQTf0v) 118 | - 含有410万个预先过滤过的、高质量问题和回复。每个问题属于一个【话题】,总共有2.8万个各式话题,话题包罗万象。 119 | 从1400万个原始问答中,筛选出至少获得3个点赞以上的的答案,代表了回复的内容比较不错或有趣,从而获得高质量的数据集。 120 | 除了对每个问题对应一个话题、问题的描述、一个或多个回复外,每个回复还带有点赞数、回复ID、回复者的标签。 121 | 数据集划分:数据去重并分成三个部分。训练集:412万;验证集:6.8万;测试集a:6.8万;测试集b,不提供下载。 122 | - 构建百科类问答:输入一个问题,构建检索系统得到一个回复或生产一个回复;或根据相关关键词从,社区问答库中筛选出你相关的领域数据 123 | 训练话题预测模型:输入一个问题(和或描述),预测属于话题。 124 | 训练社区问答(cQA)系统:针对一问多答的场景,输入一个问题,找到最相关的问题,在这个基础上基于不同答案回复的质量、 125 | 问题与答案的相关性,找到最好的答案。 126 | 做为通用中文语料,做大模型预训练的语料或训练词向量。其中类别信息也比较有用,可以用于做监督训练,从而构建更好句子表示的模型、句子相似性任务等。 127 | 结合点赞数量这一额外信息,预测回复的受欢迎程度或训练答案评分系统。 128 | 129 | 130 | ## NL2SQL 131 | 132 | - NL2SQL 133 | - 单表,简单 [NL2SQL](https://arxiv.org/abs/2006.06434) 134 | 135 | - CSpider 136 | - 多表 复杂 [CSpider](https://arxiv.org/abs/1909.13293) 137 | 138 | - DuSQL 139 | - 多表 复杂 [DuSQL](https://www.aclweb.org/anthology/2020.emnlp-main.562.pdf) 140 | 141 | - SQUALL数据集:https://blog.csdn.net/weixin_43413013/article/details/126859147 142 | 143 | 144 | - Spider数据集:https://juejin.cn/post/7085557671528660999 145 | 146 | ## Other 147 | 148 | - 千言对话数据集 149 | - 包含知识对话、推荐对话、画像对话。详细见[官网](https://aistudio.baidu.com/aistudio/competition/detail/48/?isFromLUGE=TRUE) 150 | 151 | - [CATSLU](https://dl.acm.org/doi/10.1145/3340555.3356098) 152 | - 之前的一些对话数据集集中于语义理解,而工业界真实情况ASR也会有错误,往往被忽略。而是一个中文语音+NLU文本理解的对话数据集,可以从语音信号到理解端到端进行实验,例如直接从音素建模语言理解(而非word or token) 153 | 154 | 155 | - 训练中文对话系统的语料库 https://github.com/candlewill/Dialog_Corpus 156 | 157 | - 中文聊天语料库 https://github.com/codemayq/chinese_chatbot_corpus 158 | 159 | - https://github.com/thu-coai/KdConv 160 | - 基于知识图谱构建的多轮对话数据集 161 | -------------------------------------------------------------------------------- /Dialogue-system/dialogue-system.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Repo 6 | 7 | - https://github.com/fendouai/Awesome-Chatbot 8 | - https://github.com/facebookresearch/ParlAI 9 | - https://github.com/DeepPavlov/convai 10 | - https://github.com/BDBC-KG-NLP/QA-Survey-CN 11 | - 覆盖问答相关的所有任务 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Document-understanding/Document-layout.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # Repo 4 | 5 | - https://github.com/Layout-Parser/layout-parser 6 | - layout parser train https://github.com/Layout-Parser/layout-model-training 7 | - https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/document_intelligence 8 | - https://github.com/phamquiluan/PubLayNet 9 | - https://github.com/DIVA-DIA/DIVA_Layout_Analysis_Evaluator 10 | - document layout评估工具 11 | 12 | 13 | # Datasets 14 | - Docbank: https://doc-analysis.github.io/docbank-page/index.html 15 | - Layout检测,中文数据集 https://github.com/buptlihang/CDLA 16 | - https://github.com/ibm-aur-nlp/PubLayNet 17 | - https://doc-analysis.github.io/docbank-page/index.html 18 | - http://cdn.iiit.ac.in/cdn/cvit.iiit.ac.in/usodi/img/projects/detection/iiit-ar-13/pdf/IIIT-AR-13K.pdf 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Document-understanding/PDF-Parser.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | - PyMuPDF工具 https://github.com/pymupdf/PyMuPDF 7 | - Parsr https://github.com/axa-group/Parsr 8 | - Plumber https://github.com/jsvine/pdfplumber 9 | - https://github.com/jalan/pdftotext 10 | - https://github.com/allenai/scholarphi 11 | 12 | -------------------------------------------------------------------------------- /In-context-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## Repo 8 | 9 | - https://github.com/Shark-NLP/OpenICL 10 | 11 | ## survey 12 | 13 | - A Survey on In-context Learning 14 | - 2023 15 | 16 | ## Paper 17 | 18 | 19 | 20 | - Few-shot Fine-tuning vs. In-context Learning: A Fair Comparison and Evaluation 21 | - 探究了在同等模型参数条件下few-shot ICL和few-shot微调的跨领域泛化效果对比,二者取得了相近的性能 22 | - 随着模型参数的增加,in-domain和OOD上的评估效果都进一步提升,并且微调相比ICL在更多情况下取得了更好的效果 23 | 24 | - In-Context Instruction Learning 25 | - 相比ICL,ICIL使用了由多个任务数据组成的prompt作为in-context样例 26 | - 本质是加入了固定样例数据组成的prompt的指令学习,好处是不需要为不同的任务添加相应的in-context样本 27 | 28 | - Learning to Retrieve In-Context Examples for Large Language Models 29 | - 提出了一个新颖的框架去迭代性的训练向量检索工具,目的是为了识别高质量的in-context样本 30 | 31 | 32 | 33 | 34 | - Improving In-Context Few-Shot Learning via Self-Supervised Training 35 | - Meta Ai; NAACL-HLT 2022 36 | - 为了提高in-context few-shot能力,提出了在预训练和下游few-shot学习这两个阶段之间添加自监督训练,目的是为了减少预训练模型预训练目标和in-context 37 | few-shot学习目标的差异 38 | 39 | - What Makes Good In-Context Examples for GPT-3? 40 | - Duke & microsoft; DeeLIO 2022 41 | - 提出基于展示样例检索的in-context学习 -------------------------------------------------------------------------------- /Information-extraction/Event-extraction.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Repo 9 | 10 | - https://github.com/carrie0307/DL_EventExtractionPapers 11 | - https://github.com/xiaoqian19940510/Event-Extraction 12 | - https://github.com/Coding-Zuo/DaguanFengxian 13 | - 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Information-extraction/Information-extraction.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | - https://github.com/JHart96/keras_gcn_sequence_labelling 7 | - https://github.com/cdjasonj/CCF_IE 8 | - 9 | 10 | 11 | # Paper 12 | 13 | - Unified Structure Generation for Universal Information Extraction 14 | - year: 2022 15 | - 阅读笔记: 16 | 1. 提出一种统一信息抽取模型,encoder-decoder的生成模型 17 | 2. 构建结构化schema指示器作为prompt,与text进行拼接,输出结构化抽取语言的结构 18 | 3. 预训练方法:通过构建标准的结构化schema指示器和text,以及结构化抽取语言等,来训练模型的encoder-decoder生成能力;通过构建仅包含结构化抽取语言,来训练模型的decoder的结构化解码能力;通过构建MLM任务,来训练模型的encoder语义编码能力 19 | 4. 在预训练任务中,对结构化抽取语言中添加spot负样本,对应值设置为NULL,以此来避免错误生成spot的情况下生成错误的span内容 20 | 21 | -------------------------------------------------------------------------------- /Information-extraction/Keyphrase-extraction.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## Repo-keyphrase 8 | 9 | - https://github.com/MaartenGr/KeyBERT 10 | - https://github.com/JackHCC/Chinese-Keyphrase-Extraction 11 | - https://github.com/bigzhao/Keyword_Extraction 12 | - https://github.com/thunlp/BERT-KPE 13 | - https://github.com/microsoft/OpenKP 14 | - https://github.com/boudinfl/pke 15 | - https://github.com/dongrixinyu/chinese_keyphrase_extractor 16 | - https://github.com/sunyilgdx/SIFRank_zh 17 | - https://github.com/luozhouyang/embedrank 18 | - https://github.com/swisscom/ai-research-keyphrase-extraction 19 | - https://github.com/memray/OpenNMT-kpg-release 20 | - https://github.com/jiacheng-ye/kg_one2set 21 | - https://github.com/xgeric/UCPhrase-exp 22 | 23 | 24 | ## Repo-新词发现 25 | 26 | - https://github.com/Changanyue/newwor-discovery 27 | 28 | 29 | ## keyphrase 30 | 31 | - MDERank: A Masked Document Embedding Rank Approach for Unsupervised Keyphrase Extraction 32 | - 2022 33 | - 阅读笔记: 34 | 1. 一种无监督的关键短语抽取方法,不同于phrase-document相似度计算方法,提出了一种基于mask的document-document的相似度计算方法 35 | 2. 根据一定规则提取候选关键短语,然后将候选短语在原始document中进行mask,然后使用bert对mask前后的document进行embedding,相似度越高,短语重要性越低 36 | 3. 提出了一种预训练方法。使用无监督算法提取关键短语,作为正样本。仍然使用2中的方法对文档进行embedding。使用triple-loss来建模。 37 | - code: https://github.com/LinhanZ/mderank 38 | 39 | - Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context 40 | - year: 2021 EMNLP 41 | - 阅读笔记: 42 | 1. 提出一种联合建模局部和全局上下文的无监督关键短语抽取算法 43 | 2. 全局:使用bert对document和候选的keyphrase embedding,使用曼哈顿距离计算相似度 44 | 3. 局部:将候选短语两两计算dot-product,并使用一种位置感知的中心度计算方法,本质是计算node的总度数,并根据两两短语与document的开头(或者结尾)距离越近,权重越大的规则计算 45 | 4. 最后排序结果参考两者得分相乘后的总分 46 | - code: 47 | 48 | 49 | ## datasets 50 | 51 | ### english 52 | - KP20k:https://github.com/memray/seq2seq-keyphrase 53 | - KPTimes:https://github.com/ygorg/KPTimes 54 | 55 | ### chinese 56 | - https://www.clue.ai/introduce.html 57 | - CLUE 论文关键词抽取 -------------------------------------------------------------------------------- /Information-extraction/Relation-extraction.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## Repo 8 | 9 | - https://github.com/thunlp/NREPapers 10 | - https://github.com/roomylee/awesome-relation-extraction 11 | - paper list 12 | - https://github.com/zhoujx4/NLP-Series-relation-extraction 13 | - 提供了四种关系抽取模型 14 | - https://github.com/BaderLab/saber/tree/development 15 | - 生物学领域的信息抽取工具 16 | 17 | - bert biaffine机制 https://github.com/bowang-lab/joint-ner-and-re 18 | - dilated-cnn-ner https://github.com/iesl/dilated-cnn-ner 19 | - https://github.com/yuanxiaosc/Entity-Relation-Extraction 20 | - https://github.com/thunlp/OpenNRE 21 | - https://github.com/yuanxiaosc/Entity-Relation-Extraction 22 | - https://github.com/yuanxiaosc/Multiple-Relations-Extraction-Only-Look-Once 23 | - https://github.com/yuanxiaosc/Schema-based-Knowledge-Extraction 24 | - https://github.com/xiaofei05/Distant-Supervised-Chinese-Relation-Extraction 25 | - https://github.com/davidsbatista/Snowball 26 | - https://github.com/MichSchli/RelationPrediction 27 | - 2020 bert biaffine机制 https://github.com/bowang-lab/joint-ner-and-re 28 | - 2019 https://github.com/datquocnguyen/jointRE 29 | 30 | 31 | ## pipline RE 32 | 33 | - Packed Levitated Marker for Entity and Relation Extraction 34 | - 2022 ACL 35 | - 阅读笔记: 36 | 1. 提出两种悬浮标记方法,一种是获取所有的span,并为每个span添加悬浮标记,根据span的相对距离对标记进行分组,然后每个组和text拼接后送入encoder,使用悬浮标记表征以及T-cat方法来获取更好的span表征,来达到对span更好的分类(NER) 37 | 2. 另外一种方式是将subject使用固定标记,即在text中插入标记符,object使用悬浮标记方法 38 | - code: https://github.com/thunlp/PL-Marker 39 | 40 | - A Frustratingly Easy Approach for Entity and Relation Extraction 41 | - 2021 NAACL 42 | - 阅读笔记: 43 | 1. 使用两个encoder分别对应NER和RE两个任务 44 | 2. NER使用基于span的方法,span的表示使用的特征包含起始token和span长度 45 | 3. 关系抽取使用了两种方法:第一种是对任意两个entity, 在text中找到对应位置后,在头尾插上标记符,输入encoder后将两个span的起始标记特征拼接,作为span pair的特征 46 | 4. 另外一种是基于悬浮标记的方法,将所有的标记对放在text后,标记对可以注意到text,但不能注意到其他标记对 47 | - code: https://github.com/princeton-nlp/PURE 48 | 49 | 50 | ## joint RE 51 | 52 | - Two are Better than One: Joint Entity and Relation Extraction with Table-Sequence Encoders 53 | - year: 2020 EMNLP 54 | - 阅读笔记: 55 | 1. 使用填表的方式进行关系抽取,使用两种表示table-encoder和seq-encoder 56 | 2. table-encoder使用多源word embedding进行第一个table unit的初始输入,然后使用MD-RNN网络 57 | 3. seq-encoder使用BERT网络模型,但是取消了scaled-dot用2中table作为注意力得分 58 | - code: https://github.com/LorrinWWW/two-are-better-than-one 59 | 60 | - UNIRE: A Unified Label Space for Entity Relation Extraction 61 | - 2021 ACL 62 | - 阅读笔记: 63 | 1. 使用填表的方式进行端到端的实体以及关系抽取 64 | 2. 加入结构限制:实体对称和关系对称;预测出来的实体的概率要大于包含该实体的关系的概率 65 | 3. 解码:将n * n * Y的特征图按照行维度或者列维度压平,然后相邻行之间计算编辑距离,如果大于阈值就作为span的边界;span中的最大概率对应的label作为实体label;关系中最大的概率作为关系的label 66 | - code: https://github.com/Receiling/UniRE 67 | 68 | -------------------------------------------------------------------------------- /Information-extraction/Topic-model.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## Repo 7 | 8 | - https://github.com/zll17/Neural_Topic_Models 9 | - https://github.com/bmabey/pyLDAvis 10 | - https://github.com/baidu/Familia -------------------------------------------------------------------------------- /KG/KG.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # Repo 4 | 5 | - LP-BERT: Multi-task Pre-training Knowledge Graph BERT for Link Prediction 6 | 7 | - https://github.com/zjukg/neuralkg 8 | 9 | - https://github.com/zjunlp/deepke 10 | - http://deepke.zjukg.cn/CN/index.html 11 | - DeepKE 是一个支持低资源、长篇章的知识图谱抽取工具,用户可以定制输入的数据集 12 | 和模型实现命名实体识别、关系抽取、属性抽取等知识图谱构建功能。 13 | 14 | - https://github.com/thunlp/OpenKE 15 | - 知识图谱表示学习框架 16 | 17 | - https://github.com/zjukg/NeuralKG 18 | - official web:http://neuralkg.zjukg.org/CN/ 19 | - NeuralKG是一个通用的知识图谱神经网络表示学习工具,其包含常用的知识图谱嵌入 20 | 模型、基于图神经网络的图谱推理模型,以及多个规则增强推理模型 21 | 22 | - https://github.com/zjunlp/PromptKG 23 | - PromptKGC(Incoming)是一个基于Pretrain-Prompt-Fitune预训练范式的 24 | 知识图谱抽取和补全工具,支持文本生成、对话等多种应用和任务。 25 | 26 | - https://github.com/zjukg/FedE 27 | - FedKGE是一个分布式的知识图谱学习与应用框架,通过联邦学习等技术方法实现在 28 | 分布环境下实现隐私保护条件下的知识图谱学习、推理、问答等应用。 29 | 30 | - https://github.com/dmlc/dgl 31 | - https://github.com/snap-stanford/ogb 32 | - https://github.com/pyg-team/pytorch_geometric 33 | - https://github.com/atomistic-machine-learning/schnetpack 34 | 35 | - https://github.com/xiaofei05/Distant-Supervised-Chinese-Relation-Extraction 36 | - https://github.com/sakuranew/BERT-AttributeExtraction 37 | - https://github.com/baidu/information-extraction 38 | - https://github.com/plkmo/Bible_Text_GCN 39 | - https://github.com/husthuke/awesome-knowledge-graph 40 | - https://github.com/omri1348/LRGA 41 | - https://github.com/Jhy1993/Awesome-GNN-Recommendation 42 | - https://github.com/ownthink/KnowledgeGraphData 43 | - https://github.com/autoliuweijie/K-BERT 44 | - https://github.com/WangYueFt/dgcnn 45 | 46 | - https://github.com/shenweichen/GraphEmbedding 47 | - https://github.com/PaddlePaddle/PGL 48 | - https://github.com/lightaime/deep_gcns_torch 49 | - https://github.com/kkteru/r-gcn 50 | - https://github.com/bknyaz/graph_nn 51 | - https://github.com/BrizziB/Graph-Classification-with-GCN 52 | - https://github.com/ianycxu/RGCN-with-BERT 53 | - https://github.com/jiangqn/GCN-GAN-pytorch 54 | - https://github.com/dsgiitr/graph_nets 55 | - https://github.com/nexuslrf/P2R-GCN 56 | 57 | - https://github.com/wgwang/ccks2020-baseline 58 | - https://github.com/awslabs/dgl-ke 59 | - https://github.com/mattzheng/DouBanRecommend 60 | - KG学习资源 https://github.com/BrambleXu/knowledge-graph-learning 61 | - https://github.com/graph4ai/graph4nlp 62 | - https://github.com/malllabiisc/CompGCN 63 | - https://github.com/muhanzhang/SEAL 64 | 65 | - https://github.com/husthuke/awesome-knowledge-graph 66 | - https://github.com/xyjun/large-scale-GNN 67 | - https://github.com/GRAND-Lab/Awesome-Graph-Neural-Networks 68 | - https://github.com/vuptran/graph-representation-learning 69 | - https://github.com/benedekrozemberczki/awesome-graph-classification 70 | - https://github.com/FrancesZhou/GCNTrafficPrediction 71 | - https://github.com/anshul3899/gcn-graphsage-benchmarking 72 | - https://github.com/JiaxuanYou/P-GNN 73 | - https://github.com/tanglion/PyHugeGraph 74 | - https://github.com/FighterLYL/GraphNeuralNetwork 75 | - https://github.com/bojone/kg-2019 76 | - https://github.com/FighterLYL/GraphNeuralNetwork 77 | 78 | 79 | - 图神经网络Benchmark 80 | - https://ogb.stanford.edu/ 81 | - https://github.com/graphdeeplearning/benchmarking-gnns 82 | 83 | - 图神经网络常见基本任务:https://docs.dgl.ai/tutorials/blitz/index.html 84 | 85 | - Python之Networkx详解:https://blog.csdn.net/u012856866/article/details/116458059 86 | 87 | 88 | # Dataset 89 | 90 | ## KG 91 | - OpenKG: http://openkg.cn/dataset 92 | - CMeKG: 93 | - 1.0:http://www5.zzu.edu.cn/nlp/info/1018/1715.htm 94 | - 2.0:http://www5.zzu.edu.cn/nlp/info/1018/1785.htm 95 | - 中文产科知识图谱(Chinese Obstetric Knowledge Graph,COKG) 96 | - http://www5.zzu.edu.cn/nlp/info/1015/2147.htm 97 | 98 | ## 知识图谱构建 99 | 100 | 101 | ## 图神经网络训练 102 | - 数据集:https://www.jianshu.com/p/67137451b67f -------------------------------------------------------------------------------- /KG/Multi-modal-KG.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # survey 7 | 8 | - Paper: Multi-Modal Knowledge Graph Construction and Application: A Survey 9 | - year: 2022 10 | - 阅读笔记: 11 | 1.多模态知识图谱综述型文章 12 | 2.介绍多模态知识图谱的构建,两种方法:from symbols to images, from images to symbols 13 | 3.多模态知识图谱应用,挑战 14 | 15 | 16 | # KG Completion 17 | 18 | - Paper: 19 | - year: 20 | - 阅读笔记: 21 | 22 | - code: https://github.com/zjunlp/MKGformer/ 23 | 24 | 25 | # KG Alignment 26 | 27 | - Paper: MMEA: Entity Alignment for Multi-modal Knowledge Graph 28 | - year: 29 | - 阅读笔记: 30 | 1.多模态图谱对齐 31 | 2.构建正负三元组样本,比如把一个三元组中的实体用对齐的其他图谱的实体替换,从而构建出一个正样本。使用margin loss使得正负样本更远 32 | 3.实体-image pair distance loss 33 | 4.attribute value用RBF建模,然后计算attribute, attribute value和实体embedding的distance loss 34 | 5.计算1,2,3中实体embedding和common 实体的distance loss 35 | 6.计算来自不通图谱的对齐的实体embedding distance loss 36 | - code: 37 | -------------------------------------------------------------------------------- /Large-language-model/Agent.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Agent 7 | 8 | - [agent微调:为 llms 提供通用agent能力](https://zhuanlan.zhihu.com/p/679126416) 9 | 10 | - [大模型agent学习探索](https://zhuanlan.zhihu.com/p/674630135) 11 | 12 | - [大模型agent](https://zhuanlan.zhihu.com/p/662239288) 13 | 14 | - https://github.com/Paitesanshi/LLM-Agent-Survey 15 | 16 | - The Rise and Potential of Large Language Model Based Agents: A Survey 17 | 18 | - AgentTuning: Enabling Generalized Agent Abilities for LLMs 19 | - https://github.com/THUDM/AgentTuning 20 | 21 | 22 | - [机器人自学停不下来!具身智能被革命](https://mp.weixin.qq.com/s/2bQTuwE-k6ukp--XHXIzMg) 23 | - [从第一性原理看大模型Agent技术](https://mp.weixin.qq.com/s/PL-QjlvVugUfmRD4g0P-qQ) 24 | - 李宏毅agent介绍 25 | 26 | - https://www.youtube.com/watch?v=bJZTJ7MjYqg 27 | 28 | ### agent框架 29 | 30 | - langchain 31 | - https://github.com/langchain-ai/langchain 32 | - 支持各种prompt提示方案 33 | - 支持多种任务链组成方案来处理复杂任务 34 | - 支持检索增强生成(include文本索引) 35 | - 支持基于摘要和检索的memory 36 | - 支持agent 37 | - AutoGPT 38 | - https://github.com/Significant-Gravitas/AutoGPT 39 | - 仅支持单agent 40 | - MetaGPT 41 | - https://github.com/geekan/MetaGPT 42 | - 支持单agent和多agent 43 | - https://github.com/OpenBMB/ChatDev 44 | - https://github.com/OpenBMB/AgentVerse 45 | 46 | - AutoGen 47 | - https://github.com/microsoft/autogen 48 | - 支持单agent和多agent 49 | - 支持真人介入 50 | - XAgent 51 | - https://github.com/OpenBMB/XAgent 52 | 53 | # Tool Learning 54 | 55 | ## Blog 56 | 57 | - [论文导读 | 大模型的工具学习](https://mp.weixin.qq.com/s/G2thTH204ufM71qzovSNsQ) 58 | 59 | - [大模型的外部工具调用能力](https://mp.weixin.qq.com/s/1v4Oc0XHROlUEqxi2p4xbg) 60 | 61 | - [Paper: ToolLLM:开源大模型工具使用能力的新高峰](https://mp.weixin.qq.com/s/nNueOgD-6TPfG_wMm3USFw) 62 | 63 | - [Paper: HuggingGPT: 用ChatGPT和它的朋友在HuggingFace中解决AI任务](https://zhuanlan.zhihu.com/p/619763221) 64 | 65 | - [OpenBMB的BMTools笔记](https://zhuanlan.zhihu.com/p/639581784) -------------------------------------------------------------------------------- /Large-language-model/CoT.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | # Blog 5 | 6 | - [大模型思维链(Chain-of-Thought)技术原理](https://www.zhihu.com/tardis/zm/art/629087587?source_id=1005) 7 | 8 | - [一文读懂:大模型思维链 CoT(Chain of Thought)](https://zhuanlan.zhihu.com/p/670907685) 9 | 10 | - [哈工大发布大模型思维链推理综述](https://zhuanlan.zhihu.com/p/664263382) -------------------------------------------------------------------------------- /Large-language-model/Framework.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # 训练框架 6 | 7 | - https://github.com/hpcaitech/ColossalAI 8 | 9 | - Deepspeed 10 | - deepspeed config: https://www.deepspeed.ai/docs/config-json/ 11 | - [Deepspeed的使用总结](https://zhuanlan.zhihu.com/p/650824387) 12 | - [DeepSpeed 通过系统优化加速大模型推理](https://zhuanlan.zhihu.com/p/629644249#%E5%9B%9B%EF%BC%8CDeepspeed%20Inference%20%E6%A8%A1%E5%9D%97%E7%9A%84%E7%89%B9%E6%80%A7) 13 | - [blog2](https://mp.weixin.qq.com/s/OXKg4f6bEso8E-Rp-m7scg) 14 | 15 | - https://github.com/NVIDIA/Megatron-LM 16 | - [图解大模型训练之:张量模型并行(TP),Megatron-LM](https://zhuanlan.zhihu.com/p/622212228?utm_campaign=shareopn&utm_medium=social&utm_oi=615941546193850368&utm_psn=1631231489340559360&utm_source=wechat_session) 17 | 18 | 19 | # Train 20 | 21 | ## pipline parallelism 22 | 23 | - deepspeed:https://www.deepspeed.ai/tutorials/pipeline/ 24 | - 推荐使用pytorch Sequential来编排模型 25 | - 对于forward的多参数输入的情况,将多参数转化为元组,forward只输入一个元组 26 | 类型的参数 27 | - 在pipline并行中前向和后向是交叉的,因此不能使用分开的前向、后向、step等, 28 | deepspeed提供了train_batch() 29 | - LayerSpec可以极大的节约内存占用 30 | - 使用TiedLayerSpec可以通过指定key来公用同一层的参数 31 | - demo 32 | - https://github.com/HuangLK/transpeeder 33 | - https://github.com/CoinCheung/gdGPT 34 | - https://github.com/liucongg/ChatGLM-Finetuning -------------------------------------------------------------------------------- /Large-language-model/RAG.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## RAG 6 | 7 | - https://github.com/AkariAsai/self-rag 8 | - Self-RAG 是按需检索的(例如,可以根据不同的查询多次检索或完全跳过检索)。这意味着 Self-RAG 不像传统的 RAG 那样固定地进行检索操作,而是更具灵活性。当面对各种各样的查询时,它能够根据实际情况决定检索的次数,甚至可以选择不进行检索,从而更好地适应不同的查询需求。 9 | - SELF-RAG让模型根据任务需求动态检索、生成和反思自身输出。使用特殊的反思标记(Reflection Tokens)控制模型行为。在推理阶段,模型通过生成反思标记来决定是否检索、评估生成质量并优化输出。 10 | 11 | - https://github.com/microsoft/graphrag 12 | - 基线RAG在以下两种情况下表现不佳: 13 | - 一是当回答问题需要通过信息点的共同属性来整合分散的信息以生成新见解时 14 | - 二是当需要全面理解大量数据集合或单个大文档中总结的语义概念时 15 | 16 | - 目标用户 17 | - GraphRAG旨在支持关键的信息发现和分析场景,这些场景中所需的信息往往分布在多个文档中,可能包含噪声,混杂着错误信息和/或虚假信息,或者用户试图回答的问题比基础数据能够直接回答的内容更加抽象或主题化。 18 | - GraphRAG被设计用于那些用户已经接受过负责任的分析方法培训,并且期望具备批判性思维的环境中。尽管GraphRAG能够在复杂信息主题上提供高度洞察,但仍需要领域专家对其生成的回答进行人工分析,以验证和补充GraphRAG的结果。 19 | 20 | - https://github.com/infiniflow/ragflow 21 | - RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding 22 | - 支持树结构索引方法RAPTOR 23 | - 支持graphrag,但是不能对多文档的知识图谱进行链接 24 | - 支持text2sql 25 | - 支持Contextual Retrieval, launched by Claude,即为每个chunk添加额外的补充信息 26 | - 支持分层的知识库索引,主要是基于Page Rank计算得分权重 27 | - 支持multi-agent 28 | - https://github.com/labring/FastGPT 29 | - FastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and visual AI workflow orchestration, letting you easily develop and deploy complex question-answering systems without the need for extensive setup or configuration 30 | - 应用编排能力:对话工作流、插件工作流;工具调用;循环调用 31 | - 知识库能力:多库复用,混用;chunk记录修改和删除 32 | - 增量更新算法:实现对新数据的快速整合,无需重建整个索引,显著降低计算成本。 33 | - https://github.com/HKUDS/LightRAG 34 | - 背景:传统方法难以捕获实体之间的复杂关系,导致生成的答案不够连贯;在处理多实体间的相互依赖时,现有方法难以生成全面、连贯的答案。 35 | - LightRAG 通过引入图结构增强文本索引和检索流程,利用图形表示实体及其关系,提升信息检索的上下文相关性。 36 | - 双层检索范式:低层检索:专注于具体实体及其直接关系;高层检索:涵盖更广泛的主题和抽象概念。 37 | 38 | - https://github.com/1Panel-dev/MaxKB 39 | - 内置强大的工作流引擎和函数库,支持编排 AI 工作过程,满足复杂业务场景下的需求 40 | 41 | - https://github.com/langgenius/dify 42 | - Dify是一个开源的大型语言模型(LLM)应用开发平台。它直观的界面将代理式人工智能工作流程、检索增强生成(RAG)管道、代理能力、模型管理、可观测性功能等众多功能相结合,让你能够快速地从原型阶段过渡到生产阶段。 43 | 44 | - https://github.com/Mintplex-Labs/anything-llm 45 | - 一个一体化的桌面和Docker人工智能应用程序,内置了RAG(Retrieval-Augmented Generation,检索增强生成)、人工智能代理以及更多功能。 46 | - https://github.com/langflow-ai/langflow 47 | - Langflow 是一个低代码应用程序构建器,用于构建检索增强型生成(RAG)和多智能体人工智能应用。它是基于 Python 的,并且对任何模型、API 或数据库都具有不可知性。 48 | 49 | - ACL2023关于基于检索来增强大模型的讲习班ppt 50 | - https://acl2023-retrieval-lm.github.io/ 51 | - 陈丹奇组工作 52 | 53 | - Lost in the Middle: How Language Models Use Long Contexts 54 | - [相关blog](https://zhuanlan.zhihu.com/p/643723202) 55 | - 1. 语言模型在长输入上下文的中间使用信息时会带来性能下降,并且随着输入上下文的增长,性能会进一步恶化,其更偏向于头尾两个位置 56 | 2. 对检索到的文档进行有效的重新排序,将相关信息推向输入上下文的开头或排序列表截断,必要时返回更少的文档,这个是值得深入的方向 57 | 58 | - Copy is All You Need 59 | - ICLR2023 60 | - [聊聊我的AI大黄蜂:Copy is All You Need背后的故事](https://zhuanlan.zhihu.com/p/647457020) 61 | - 方法:通过文档片段检索的方式来进行文本生成 62 | 63 | - In-Context Retrieval-Augmented Language Models 64 | - [相关blog](https://zhuanlan.zhihu.com/p/647112059) 65 | - 将已经生成的一些token通过检索的方式获取一些文档,并把这些文档作为prompt加在已经生成文本的前面,然后继续生成后续的token 66 | 67 | - [Ziya-Reader:注意力增强的训练方法](https://mp.weixin.qq.com/s/ekAyYT-Fxj5fw8GNk6Rg0g) 68 | 69 | # Blog 70 | 71 | - [The Rise and Evolution of RAG in 2024 A Year in Review](https://ragflow.io/blog/the-rise-and-evolution-of-rag-in-2024-a-year-in-review#agentic-and-memory) 72 | 73 | - [RAPTOR 一种基于树的RAG方法,RAG的准确率提高 20%](https://www.cnblogs.com/xiaoqi/p/18060281/RAPTOR) 74 | 75 | - https://www.anthropic.com/news/contextual-retrieval 76 | 77 | - [RAG实战全解析:一年探索之路](https://zhuanlan.zhihu.com/p/682253496) 78 | 79 | - [北京大学发布AIGC的检索增强技术综述](https://mp.weixin.qq.com/s/o8oTN06UsQSlb5BNyJH23w) 80 | 81 | - [Chunking Strategies for LLM Applications](https://www.pinecone.io/learn/chunking-strategies/) 82 | 83 | - [基础RAG技术](https://blog.csdn.net/baidu_25854831/article/details/135331625) 84 | 85 | - [高级RAG技术](https://blog.csdn.net/baidu_25854831/article/details/135592272) 86 | 87 | - [综述-面向大模型的检索增强生成(RAG)](https://mp.weixin.qq.com/s/TbjbLY6a1h7rgvM5IE4vaw) 88 | 89 | - [大模型检索增强生成(RAG)有哪些好用的技巧](https://www.zhihu.com/question/625481187/answer/3279041129) 90 | 91 | - [万字长文总结检索增强 LLM](https://zhuanlan.zhihu.com/p/655272123) 92 | 93 | ## Embedding 94 | 95 | - [Later Chunking技术](https://mp.weixin.qq.com/s/V_4Sxkh01Q-hrBXrv61IFw) 96 | - https://github.com/jina-ai/late-chunking 97 | - https://huggingface.co/sensenova/piccolo-large-zh-v2 98 | - https://huggingface.co/BAAI/bge-m3 99 | - https://huggingface.co/TencentBAC/Conan-embedding-v1 100 | -------------------------------------------------------------------------------- /Large-language-model/Vertical-domain-llm.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## 垂域大模型 6 | 7 | - https://github.com/luban-agi/Awesome-Domain-LLM 8 | - 收集和梳理垂直领域的开源模型、数据集及评测基准 9 | 10 | - https://github.com/SmartFlowAI/EmoLLM 11 | - 心理健康大模型、LLM、The Big Model of Mental Health、Finetune、InternLM2、InternLM2.5、Qwen、ChatGLM... 12 | 13 | - https://github.com/qiuhuachuan/smile 14 | - 中文领域心理健康对话大模型MeChat 15 | 16 | - https://github.com/BioFM/OpenBioMed 17 | - 多模态生物医疗领域大模型 18 | 19 | - BloombergGPT: A Large Language Model for Finance 20 | 21 | - https://github.com/pengxiao-song/LaWGPT 22 | - 扩充法律领域专有词表、大规模中文法律语料预训练,增强了大模型在法律领域的基础语义理解能力 23 | - 在此基础上,构造法律领域对话问答数据集、中国司法考试数据集进行指令精调,提升了模型对法律内容的理解和执行能力 24 | 25 | - https://github.com/PKU-YuanGroup/ChatLaw 26 | 27 | - https://github.com/scir-hi/huatuo-llama-med-chinese 28 | - 经过中文医学指令精调/指令微调 29 | 30 | - [对行业大模型的思考](https://zhuanlan.zhihu.com/p/643805698) 31 | - 垂直领域预训练:10%-15%的领域数据 32 | 33 | -------------------------------------------------------------------------------- /Large-language-model/available-llm-01.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Open source LLM 7 | 8 | - Yuan 9 | - https://github.com/IEIT-Yuan/Yuan-2.0 10 | 11 | - Telechat 12 | - https://github.com/Tele-AI/Telechat 13 | - 开源的预训练数据,多轮对话的数据构建方式 14 | 15 | -------------------------------------------------------------------------------- /Large-language-model/datasets.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # LLM Datasets 7 | 8 | ## 各类数据集收集repo 9 | - https://github.com/yaodongC/awesome-instruction-dataset 10 | - 多模态数据集、文本指令集、RLHF数据集 11 | - https://github.com/FreedomIntelligence/InstructionZoo 12 | 13 | ## 推理数据集 14 | 15 | - https://huggingface.co/datasets/DigitalLearningGmbH/MATH-lighteval 16 | 17 | ## Preference Data 18 | 19 | - openbmb/UltraFeedback 20 | - https://huggingface.co/datasets/openbmb/UltraFeedback 21 | - 使用不同的模型生成多回复,然后使用细粒度的偏好标注指令进行gpt-4自动标注 22 | - HuggingFaceH4/ultrafeedback_binarized 23 | 24 | - https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized 25 | - UltraFeedback数据处理好的版本 26 | - Anthropic/hh-rlhf 27 | - https://huggingface.co/datasets/Anthropic/hh-rlhf 28 | - 人工标注,可能含有噪声 29 | - fnlp/hh-rlhf-strength-cleaned 30 | - https://huggingface.co/datasets/fnlp/hh-rlhf-strength-cleaned 31 | - stanfordnlp/SHP 32 | - https://huggingface.co/datasets/stanfordnlp/SHP 33 | - orca_dpo_pairs 34 | - https://huggingface.co/datasets/Intel/orca_dpo_pairs 35 | - 无数据集相关介绍 36 | - HannahRoseKirk/prism-alignment 37 | - https://huggingface.co/datasets/HannahRoseKirk/prism-alignment 38 | - orca_dpo_pairs 39 | - https://huggingface.co/datasets/Intel/orca_dpo_pairs 40 | 41 | - summarize_from_feedback 42 | - 摘要偏好数据,from openai 43 | - https://huggingface.co/datasets/openai/summarize_from_feedback 44 | 45 | 46 | - PKU-SafeRLHF 47 | - 安全对齐数据集 48 | - https://huggingface.co/datasets/PKU-Alignment/PKU-SafeRLHF 49 | - CValues 50 | - https://huggingface.co/datasets/xiaodongguaAIGC/CValues 51 | - 中文safe偏好数据 52 | - zhihu_rlhf_3k 53 | - 中文偏好数据 54 | - https://huggingface.co/datasets/liyucheng/zhihu_rlhf_3k 55 | - oasst1_pairwise_rlhf_reward 56 | - https://huggingface.co/datasets/tasksource/oasst1_pairwise_rlhf_reward 57 | 58 | - openai-prm800k-stepwise-critic 59 | - 过程监督数据集 60 | - https://huggingface.co/datasets/Birchlabs/openai-prm800k-stepwise-critic 61 | - 多步推理:数据集中每个示例通常包含需要逐步分解的复杂任务或问题;通过将问题分解为子问题,模型可以逐步构建最终的答案 62 | - 批判性评估:包含对不同推理步骤的“评估”机制;训练过程中,模型可以学习在每个推理步骤中如何自我评估和调整 63 | 64 | - lmsys/chatbot_arena_conversations 65 | - 多轮偏好数据,基于从两个模型采样出来的多轮对话,对话上下文可能不同 66 | - https://huggingface.co/datasets/lmsys/chatbot_arena_conversations 67 | 68 | - lmsys/mt_bench_human_judgments 69 | - https://huggingface.co/datasets/lmsys/mt_bench_human_judgments 70 | - 多轮偏好数据,基于从两个模型采样出来的多轮对话,对话上下文可能不同,使用大模型/人工判断哪一个多轮对话效果更好 71 | 72 | ## chinese dataset 73 | 74 | - https://huggingface.co/datasets/Suprit/CMtMedQA 75 | - 医疗多轮对话数据集 76 | 77 | - alpaca_chinese_dataset 78 | - 52K,将Alpaca数据集进行机器翻译+人工校验,并补充一些对话数据 79 | - https://github.com/hikariming/alpaca_chinese_dataset 80 | 81 | - HC3-Chinese 82 | - 12.9k,human-chatgpt对比数据集 83 | - https://huggingface.co/datasets/Hello-SimpleAI/HC3-Chinese 84 | 85 | - firefly-train-1.1M 86 | - 1.65M,基于23个常见的中文数据集,人工编写指令模板 87 | - https://huggingface.co/datasets/YeungNLP/firefly-train-1.1M 88 | 89 | - COIG 90 | - v1 91 | - 178k, 北京智源人工智能研究院发布的中文指令数据集,包括翻译指令,考试指令,人类价值对齐指令,反事实多轮对话指令,leecode指令等 92 | - https://huggingface.co/datasets/BAAI/COIG 93 | - v2 94 | - https://huggingface.co/datasets/BAAI/COIG-PC 95 | - 312M 96 | - 轻量级数据集,每个任务采样200条 97 | https://huggingface.co/datasets/BAAI/COIG-PC-Lite 98 | 99 | - BBT-FinCUGE-Applications 100 | - 通用金融语料,以及金融相关的qa、分类、ner、re等数据 101 | - https://github.com/ssymmetry/BBT-FinCUGE-Applications 102 | 103 | - pCLUE 104 | - 1.2M,通过原有的NLP任务数据集,结合特定的prompt模板生成 105 | - https://github.com/CLUEbenchmark/pCLUE 106 | 107 | - OpenLabel-Chinese Conversations Dataset (OL-CC) 108 | - 包含 10k+ “指令-回答”数据对和 1.6k+ 人工指令数据。指令类型丰富,包括问答任务、文本写作、文本抽取、编辑改写、分类选择、头脑风暴、 闲聊对话、逻辑&数学等任务 109 | 110 | - BelleGroup/multiturn_chat_0.8M 111 | - 用户与助手的多轮对话,由ChatGPT产生 112 | - https://huggingface.co/datasets/BelleGroup/multiturn_chat_0.8M 113 | 114 | - BelleGroup/school_math_0.25M 115 | - 中文数学题数据,包含解题过程,由ChatGPT产生 116 | - https://huggingface.co/datasets/BelleGroup/school_math_0.25M 117 | 118 | - BelleGroup/generated_chat_0.4M 119 | - https://huggingface.co/datasets/BelleGroup/generated_chat_0.4M 120 | - 个性化角色对话数据,包含角色介绍,由ChatGPT产生 121 | 122 | - BelleGroup/train_2M_CN 123 | - https://huggingface.co/datasets/BelleGroup/train_2M_CN 124 | - 中文指令数据,由ChatGPT产生 125 | 126 | 127 | ## multi-language datasets 128 | 129 | - MOSS 130 | - https://huggingface.co/datasets/fnlp/moss-002-sft-data 131 | - 1.16M,类似self-instruct,人工编写一些seed 132 | - https://huggingface.co/datasets/fnlp/moss-003-sft-data 133 | - 多轮对话数据集,包含写作、代码、角色扮演、无害等类型数据集 134 | - https://huggingface.co/datasets/YeungNLP/moss-003-sft-data 135 | 官方数据的简化版本 136 | 137 | - Guanaco 138 | - 1.17M,对alpaca self-instruct随机种子进行扩充 139 | - https://huggingface.co/datasets/JosephusCheung/GuanacoDataset 140 | 141 | ## english datasets 142 | 143 | - InstructionWild 144 | - 110k,基于chatgpt用户共享出的指令构建,不同与self-instruct,多样性、真实性更高 145 | - https://github.com/XueFuzhao/InstructionWild 146 | 147 | - HC3 148 | - 24k,human-chatgpt对比数据集 149 | - https://huggingface.co/datasets/Hello-SimpleAI/HC3 150 | 151 | - stanford_alpaca 152 | - 52k,基于text-davinci-003模型以self-instruct方式生成 153 | - https://github.com/tatsu-lab/stanford_alpaca 154 | 155 | - prosocial-dialog 156 | - 120k,多轮对话数据集,对有问题的内容做出正确的反应 157 | - https://huggingface.co/datasets/allenai/prosocial-dialog 158 | 159 | - AlpacaDataCleaned 160 | - 50k,基于gpt4的模型以self-instuct方式生成,质量更高 161 | - https://github.com/gururise/AlpacaDataCleaned 162 | 163 | - ultrachat 164 | - https://huggingface.co/datasets/YeungNLP/ultrachat -------------------------------------------------------------------------------- /Large-language-model/finetune.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # 指令微调 4 | 5 | - Exploring the Impact of Instruction Data Scaling on Large Language Models: An Empirical Study on Real-World Use Cases 6 | - year: 2023 7 | - 主要探索了指令数据集的数据量对模型效果的影响,总的来说,仅仅通过增加指令数据的数量,可以连续的提升模型的性能 8 | - 随着数据量的增加,在不同数据集上的表现有所不同,在Extract, Classification, Closed QA, 和Summarization任务上,增加数据带来的效果提升并未到达天花板;在Math, Code, 和COT任务上,继续增加数据,效果出现下降;在Translation, Rewrite, 和Brainstorming任务上,少量的数据就可以获得不错的效果,继续增加数据,模型提升非常有限。 9 | 10 | 11 | # 数据筛选 12 | 13 | - LESS: Selecting Influential Data for Targeted Instruction Tuning 14 | - year: 2024 15 | - 利用梯度信息来筛选少量训练集 16 | - codes: https://github.com/princeton-nlp/LESS 17 | - [Less is More](https://mp.weixin.qq.com/s/8KYNYvKCWhRJ3BWJxe0-Qw) 18 | 19 | - What Makes Good Data for Alignment? A Comprehensive Study of Automatic Data Selection in Instruction Tuning 20 | - year: 2023 21 | - 先对数据进行复杂性和质量评分,再通过多样性进行数据筛选 22 | - code: https://github.com/hkust-nlp/deita 23 | - [DEITA-大模型指令微调的数据高效筛选方法](https://zhuanlan.zhihu.com/p/675928711) 24 | 25 | - MoDS: Model-oriented Data Selection for Instruction Tuning 26 | - year: 2023 27 | - 首先使用deberta模型对数据质量进行打分,得到质量较高的数据集 28 | - 基于K-center-greedy方法,从得到的数据中获取最大多样化的数据子集 29 | - 基于种子子集微调一个大模型,基于该大模型对1中高质量数据集进行预测,使用奖励模型获取不能很好预测结果的数据,这样的数据对大模型难度更高,最后将难例数据和数据子集混合起来,训练最终效果更好的模型 30 | - code: https://github.com/CASIA-LM/MoDS 31 | - [高质量指令数据筛选方法-MoDS](https://zhuanlan.zhihu.com/p/671183709) 32 | 33 | - Beyond Human Data: Scaling Self-Training for Problem-Solving with Language Models 34 | - 总共两步:生成(E-step):语言模型为每个输入上下文生成多个输出样本,然后使用二元奖励过滤这些样本以收集训练数据集. 35 | - 改进(M-step):原始语言模型在来自前一个 E-step 的训练数据集上进行监督微调,然后在下一个 E-step 中使用。 36 | 37 | - From Quantity to Quality: Boosting LLM Performance with Self-Guided Data Selection for Instruction Tuning 38 | - year: 2023 39 | - 指令数据筛选:首先基于聚类的方法筛选出多样性比较高的少量样本,然后对模型进行微调 40 | - 基于微调的大模型计算样本的指令跟随难度,即模型预测答案的概率越小,对模型来说难度越高,使用这样的样本继续训练能够带来更好的效果 41 | - code:https://github.com/MingLiiii/Cherry_LLM 42 | 43 | - Lion: Adversarial Distillation of Closed-Source Large Language Model 44 | - 先是根据chatgpt生成的数据进行模仿学习;基于小模型的生成结果来判别难样本;再生成数据来学习这种难样本 45 | - [blog](https://mp.weixin.qq.com/s/_LQVHMJqPzMzIuM4wsO2Dw) 46 | 47 | - LIMA: Less Is More for Alignment 48 | - year: 2023 49 | - 仅仅使用高质量的少量数据,便得到一个效果很好的大模型 50 | - 在多轮对话上,添加30个高质量的多轮对话链,使得模型的多轮对话能力显著提升 51 | - [Meta AI 重磅推出LIMA!媲美GPT-4、无需RLHF就能对齐](https://mp.weixin.qq.com/s/sbIa-fIHvMlp-2aYtCtVLQ) -------------------------------------------------------------------------------- /Large-language-model/llm-finetune-long-context.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # 支持更长的序列 7 | 8 | ## train 9 | 10 | - 常见方法 11 | - fp16、bf16 12 | - gradient checkpoint 13 | - 以牺牲训练时间为代价来节约显存 14 | - 混合精度训练 15 | - 梯度累计 16 | - FasterTransformer 17 | - 模型并行、管道并行、CPU-Offload、3D并行 18 | 19 | - QLora 20 | - [QLoRA:一种高效LLMs微调方法,48G内存可调65B 模型,调优模型Guanaco 堪比Chatgpt的99.3%!](https://zhuanlan.zhihu.com/p/632229856) 21 | - 使用4位的NormalFloat(Int4)量化和Double Quantization技术。4位的NormalFloat使用分位数量化,通过估计输入张量的分位数来确保每个区间分配的值相等, 22 | Double Quantization是将额外的量化常数进行量化。 23 | - 梯度检查点会引起显存波动,从而造成显存不足问题。通过使用Paged Optimizers技术,使得在显存不足的情况下把优化器从GPU转义到CPU中。 24 | - QLora张量使用使,会把张量 反量化 为BF16,然后在16位计算精度下进行矩阵乘法。 25 | - https://github.com/artidoro/qlora 26 | - https://huggingface.co/blog/4bit-transformers-bitsandbytes 27 | - 介绍及使用 28 | 29 | - FlashAttention 30 | - 将频繁HBM内存访问转化为矩阵分片,并在SRAM上一次性计算的方式 31 | 32 | - self attention does not need O(n^2) memory 33 | - 通过简单的数学结合律方法,取消self-attention计算中产生的A和S矩阵,代价是计算时间,但是用cuda核算子使得计算时间的代价很小,其实是在后向梯度传播时需要重计算 34 | - https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.memory_efficient_attention 35 | 36 | - Alibi 37 | - [Alibi位置向量外推性:看起来很长其实还是短](https://developer.aliyun.com/article/842370) 38 | - [ALiBi - 给注意力加上线性偏置](https://zhuanlan.zhihu.com/p/632780188) 39 | - https://www.mosaicml.com/blog/mpt-7b 在相对短的文本上预训练,然后在长文本上微调 40 | 41 | - https://kaiokendev.github.io/til#extending-context-to-8k 42 | - 基于RoPE,scaling down frequency window 43 | 44 | - ZeRO: Memory Optimizations Toward Training Trillion Parameter Models 45 | - ZeRO-DP:优化器状态、梯度、模型 46 | - ZeRO-R:中间激活分区,适当的时候把中间激活卸载到CPU;定义一个合适的临时buffer值,达到计算和内存占用的平衡; 47 | 基于tensor的不同生命周期来管理内存,从而避免碎片内存的产生 48 | - ZeRO-DP和ZeRO-R都是对DP的改进。ZeRO可以和MP结合起来进一步降低显存的占用 49 | - ZeRO的通信策略: 使用了动态的通信调度,该技术利用了模型状态(固定模型参数)的时间特性 50 | - ZeRO-Offload: Democratizing Billion-Scale Model Training 51 | - 卸载部分数据和计算到CPU,同时保持计算效率 52 | - ZeRO-Infinity: Breaking the GPU Memory Wall for Extreme Scale Deep Learning 53 | - 使用GPU、CPU、硬盘对大模型进行训练 54 | - 解决涉及到的相关内存和带宽问题:infinity offload engine、memory-centric tiling、bandwidth-centric partitioning、overlap-centric design、ease-inspired implementation 55 | 56 | - [ 57 | ZeRO & DeepSpeed: New system optimizations enable training models with over 100 billion parameters](https://www.microsoft.com/en-us/research/blog/zero-deepspeed-new-system-optimizations-enable-training-models-with-over-100-billion-parameters/) 58 | - [ZeRO-2 & DeepSpeed: Shattering barriers of deep learning speed & scale](https://www.microsoft.com/en-us/research/blog/zero-2-deepspeed-shattering-barriers-of-deep-learning-speed-scale/) 59 | 60 | - 稀疏attention 61 | - [【长文本处理】CoLT5与LongT5:针对长文本优化的T5模型](https://zhuanlan.zhihu.com/p/630197196) 62 | 63 | ## inference 64 | 65 | - PagedAttention 66 | - [从 FlashAttention 到 PagedAttention, 如何进一步优化 Attention 性能](https://zhuanlan.zhihu.com/p/638468472) 67 | 68 | -------------------------------------------------------------------------------- /Large-language-model/long-sequence-extension.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - Efficient Streaming Language Models with Attention Sinks 4 | 5 | - Scaling Laws of RoPE-based Extrapolation 6 | 7 | - Walking Down the Memory Maze: Beyond Context Limit through Interactive Reading 8 | 9 | - Randomized Positional Encodings Boost Length Generalization of Transformers 10 | - 训练时从[0,L]中随机获取递增的位置编码,而训练的长度N远小于L,推理时使用正常的位置编码 11 | 12 | - logn attention scale 13 | - 使用logn attention scale,目的时解决当预测长度远远大于训练时的最大长度,attention的值变得比较平缓,有助于解决外推性问题 14 | - 窗口注意力和logn attention scale的结合 15 | 16 | - [无限外推的ReRope](https://kexue.fm/archives/9708) 17 | 18 | - Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation 19 | - [ALiBi介绍](https://zhuanlan.zhihu.com/p/632780188) 20 | - 在原始注意力矩阵上加上相对距离矩阵,q和k近,相对距离小,否则相对距离大 21 | - 相对距离矩阵分配一个偏执项系数,平均分布在0-1/(2^8) 22 | - [ALiBi位置编码的两种外推方法:内插法和NTK-ALiBi](https://zhuanlan.zhihu.com/p/657161287) 23 | - 内插法:直接用偏置系数除以长度扩展倍数 24 | - 使用NTK的思想:高频外推低频内插,改动的是偏执系数,第一个注意力头的偏执系数与原始偏执系数相同,最后一个注意力头的偏置系数等于内插的偏置项系统 25 | - ALiBi的第一个注意力头的偏置系数大,高频情况,视野小,最后一个注意力头的偏置系数小,低频情况,视野大 26 | 27 | - https://www.mosaicml.com/blog/mpt-7b 28 | - 在相对短的文本上预训练,然后基于ALiBi方法在长文本上微调 29 | 30 | - [NBCE:使用朴素贝叶斯扩展LLM的Context处理长度](https://kexue.fm/archives/9617) 31 | - 基于朴素贝叶斯的独立性假设,各个片段预测token的概率是独立的 32 | - 通过推导得出生成token的概率由无context的概率与各个context的概率的average pooling的加权 33 | - 文章提出可以使用参数学习的方式来得到权重 34 | - 去掉无context的概率可以理解为让模型更加倾向于结合context内容而不是模型本身的知识来回答问题 35 | 36 | - Dynamic Scaled RoPE && Dynamic NTK-Aware Scaled RoPE 37 | - 相比静态的RoPE的线性内插和NTK-Aware Scaled RoPE,动态的方法是scale随着序列长度的增加而增加 38 | 39 | - NTK-Aware Scaled RoPE 40 | - https://www.reddit.com/r/LocalLLaMA/comments/14lz7j5/ntkaware_scaled_rope_allows_llama_models_to_have/?rdt=61154 41 | - 基于NTK的思想改进的RoPE 42 | - 实现时是将base乘上一个因子a=scale*(d/d-2),当i较小时,近似等于未插值情况,当i=d/2-1时,近似等于插值情况 43 | - 实现:https://colab.research.google.com/drive/1VI2nhlyKvd5cw4-zHvAIk00cAVj2lCCC#scrollTo=fd650d79 44 | 45 | - RoPE的线性内插 46 | - https://kaiokendev.github.io/context 47 | - 直接对位置index除上一个长度扩展倍数 48 | - LongChat模型:基于该方法的基础上用长文本数据进一步微调:https://lmsys.org/blog/2023-06-29-longchat/ 49 | 50 | - [RoPE位置编码](https://zhuanlan.zhihu.com/p/647109286) 51 | - 通过绝对位置表示相对位置,attention计算公式可以表示为q和k之间距离的函数,从而推导出位置编码是一个旋转矩阵 52 | - 具体是q和k分别乘上一个旋转矩阵(可以进行简化为两个向量的内积),再进行注意力的计算,这种attention的计算方法可以简化为q和k的乘积中间插入一个矩阵 53 | - RoPE的总流程:首先对每个token进行embedding,然后根据embedding计算q和k向量,q向量和k向量分别乘上一个旋转矩阵(本质是两两一组应用旋转变换),然后再计算内积得到self-attention结果 54 | 55 | - [浅谈LLM的长度外推](https://zhuanlan.zhihu.com/p/645770522) 56 | 57 | - [LLM长度外推研究1——外推结果及原因分析](https://blog.csdn.net/maxsen_jn/article/details/132517811) 58 | - 通过分析attention score的值在训练长度以内以及超过训练长度的分布的不同,提出在训练长度以内,attention score时被bound住的 59 | - 解决办法时压制住attention score,核心思想是使得权重矩阵跟位置信息配合起来 60 | 61 | - [Transformer升级之路:7、长度外推性与局部注意力](https://spaces.ac.cn/archives/9431) 62 | - 函数式位置编码外推行不好的原因是sin和cos不具有光滑性质,属于震荡型函数;另外一方面是因为更长的长度分散了注意力 63 | - 推理时使用窗口注意力,即token只和最近窗口的token计算注意力,窗口大小一般使用训练时的长度 -------------------------------------------------------------------------------- /Large-language-model/nlp-task-chatgpt.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # information extraction 7 | 8 | - How to Unleash the Power of Large Language Models for Few-shot Relation Extraction? 9 | - ACL 10 | -
11 | 阅读笔记: 12 | 1. 基于chatgpt大模型的few-shot关系抽取
13 | 2. 提出了两种策略:task-related instructions and schema-constrained data generation.
14 | 3. task-related instructions:不同于text prompt,使用任务指令描述的方式来进行关系抽取任务
15 | 4. schema-constrained data generation:使用实体类型限定的关系抽取任务 16 |
17 | 18 | - Small Models are Valuable Plug-ins for Large Language Models 19 | - [[code]](https://aka.ms/SuperICL) 20 | -
21 | 阅读笔记: 22 | 1. 将大模型chatgpt和本地微调的小模型结合起来
23 | 2. 基于in context learning学习,将小模型的预测的label和置信度加入到context中,基于该上下文使用chatgpt进行label的预测,并给出预测结果的推理过程
24 |
25 | 26 | - GPT-NER: Named Entity Recognition via Large Language Models 27 | - [code](https://github.com/ShuheWang1998/GPT-NER) 28 | -
29 | 阅读笔记: 30 | 1. 为了减少生成大模型和抽取任务的gap,将原始文本的实体前后添加special token并作为label。然后使用任务指令+few-shot学习的方式用大模型进行预测
31 | 2. few-shot样例使用了随机采样和基于kNN相似度检索的方式获取
32 | 3. 为了防止大模型的过度自信,说了few-shot的自我验证方法,即通过指令描述的方式让大模型回答抽取到的实体是否是相应类别的实体
33 |
34 | 35 | - Zero-Shot Information Extraction via Chatting with ChatGPT 36 | - [[code]](https://github.com/cocacola-lab/ChatIE) 37 | -
38 | 阅读笔记: 39 | 1. 基于chatgpt模型,把zero-shot信息抽取分成了两个阶段。第一个阶段:通过prompt的方式得到可能涉及的实体类型
40 | 2. 第二个阶段:根据第一个阶段的实体类型和任务相关的schema来提示获取其他的相关信息
41 |
42 | -------------------------------------------------------------------------------- /Large-language-model/nlp-task-llm-finetune.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Information Extraction 7 | 8 | **2023** 9 | 10 | - Improving Open Information Extraction with Large Language Models: A Study on Demonstration Uncertainty 11 | - 一种基于大模型chatgpt或者llama的多轮的开放信息抽取方法。 12 | - 提出错误纠正的trick:通过提问大模型抽取并进行纠正 13 | - 使用样例展示的few-shot方法:使用基于指令大模型embedding方法,来检索文本结构组成相似的样本作为展示样本 14 | - 提出一种大模型生成不确定性评估方法:基于3的方法采样多组的展示样本,然后统计三元组的概率并使用阈值过滤掉低置信度的样本 15 | 16 | - SeqGPT: An Out-of-the-box Large Language Model for Open Domain Sequence Understanding 17 | - 通过提示chatgpt来生成预训练数据,收集了大量中英文的NLU任务数据进一步微调。模型主要使用了BLOOMZ 18 | - 探究了数据scale,模型scale,域外数据泛化性、跨语言泛化性、跨任务泛化性 19 | 20 | - UniversalNER: Targeted Distillation from Large Language Models for Open Named Entity Recognition 21 | - https://universal-ner.github.io/ 22 | - https://huggingface.co/Universal-NER 23 | 24 | - ZeroPrompt: Scaling Prompt-Based Pretraining to 1,000 Tasks Improves 25 | Zero-shot Generalization 26 | - [相关blog](https://zhuanlan.zhihu.com/p/461075783) 27 | - 使用1000个nlp任务构建prompt数据,提升了zero-shot能力,在部分任务上超过了finetune,相比其他zero-shot方法提升了30个点 28 | 29 | 30 | - Easy-to-Hard Learning for Information Extraction 31 | - 使用了easy-to-hard来学习信息抽取任务,按顺序学习三个任务:easy stage, hard stage, main stage 32 | - easy stage: 把每个任务分解成多个简单的skill来学习 33 | - hard stage: 把text中包含多个target或者拼接两个text和相应的target作为学习样本 34 | - main stage: 学习一个样本的所有的skill 35 | 36 | - InstructUIE: Multi-task Instruction Tuning for Unified Information Extraction 37 | -
38 | 阅读笔记: 39 | - 将NER,RE,EE等数据集转化为instruction格式,基于FlanT5-10B模型训练
40 | - 针对NER,RE,EE等任务都加入辅助任务使得模型更好的学习
41 | - 相对于Bert-finetune,InstructUIE去的更好的效果;在少样本数据集上,超过了chatgpt3.5模型
42 |
43 | 44 | - Aligning Instruction Tasks Unlocks Large Language Models as Zero-Shot Relation Extractors 45 | - ACL [[code]](https://github.com/OSU-NLP-Group/QA4RE) 46 | -
47 | 阅读笔记: 48 | - 认为指令微调并不能提高大模型在RE任务上的效果,原因是因为RE数据的占比很小
49 | - 为了解决上诉问题,将RE任务和数据占比非常多的QA任务对齐起来,从而提高RE的任务效果
50 | - QA任务:提供候选答案的选项,直接让模型输出选项号
51 |
52 | 53 | - Revisiting Relation Extraction in the era of Large Language Models 54 | -
55 | 阅读笔记: 56 | - 基于大模型的关系抽取,使用GPT-3在few-shot的prompt下取得了解决sota的效果;在此基础上使用CoT,能够进一步提升效果
57 | - 基于flan-T5在few-shot prompt情况下并未取得sota效果,但是在基于GPT-3生成的CoT数据微调,能够取得sota的效果
58 |
59 | 60 | - Large Language Model Is Not a Good Few-shot Information Extractor, but a Good Reranker for Hard Samples! 61 | -
62 | 阅读笔记: 63 | - 将大模型和小模型结合起来做关系抽取任务
64 | - 使用小模型过滤出困难样本(根据关系的置信度),然后转化成多项选择问题,输出使用了analysis(CoT)
65 |
66 | 67 | - InstructABSA: Instruction Learning for Aspect Based Sentiment Analysis 68 | -
69 | 阅读笔记: 70 | - 基于GPT2模型微调,将多方面情感分析人物转化为instruction方式
71 |
72 | 73 | **2022** 74 | 75 | - InstructionNER: A Multi-Task Instruction-Based Generative Framework for Few-shot NER 76 | -
77 | 阅读笔记: 78 | - 基于T5模型的指令ner信息抽取
79 |
80 | 81 | 82 | # Table understanding 83 | 84 | - https://github.com/SpursGoZmy/Paper-List-about-LLM-and-Table 85 | 86 | - TableGPT: Towards Unifying Tables, Nature Language and Commands into One GPT 87 | - [浙大团队推出TableGPT:可分析数据、作图和建模](https://zhuanlan.zhihu.com/p/643198387) 88 | 89 | - [综述:大型模型在表格数据上的应用](https://zhuanlan.zhihu.com/p/684981680) 90 | - 包括传统的小模型和大模型在表格数据上的应用 91 | 92 | - [大模型技术在表格数据任务上的应用进展](https://mp.weixin.qq.com/s/VLOqVXoOO81arJuBkIO6Jw) 93 | - 部分paper并非是LLM相关的 94 | 95 | - [面向表格数据的大模型推理综述](https://mp.weixin.qq.com/s/sXeyH2Ob8-CbGwHHBYOYfQ) 96 | - 微调、ICL、使用工具、鲁棒性 97 | 98 | -------------------------------------------------------------------------------- /Large-language-model/o1-series.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Resource 6 | 7 | - Repo 8 | - https://github.com/Unakar/Logic-RL 9 | - https://github.com/eddycmu/demystify-long-cot 10 | - https://github.com/RLHFlow/Minimal-RL 11 | - https://github.com/cmu-l3/l1 12 | - https://github.com/shangshang-wang/Tina 13 | - https://github.com/hkust-nlp/simpleRL-reason 14 | - https://github.com/sail-sg/understand-r1-zero 15 | - https://github.com/Open-Reasoner-Zero/Open-Reasoner-Zero 16 | - https://github.com/agentica-project/rllm 17 | - https://github.com/lzhxmu/CPPO 18 | - https://github.com/OpenManus/OpenManus-RL 19 | - 基于强化学习优化大模型智能体(类似R1算法) 20 | - https://github.com/huggingface/open-r1 21 | - https://github.com/aburkov/theLMbook/blob/main/GRPO_From_Scratch_Multi_GPU_DataParallel_Qwen_2_5_1_5B_Instruct.ipynb 22 | - https://github.com/dhcode-cpp/X-R1 23 | - Blog 24 | - [R1 的一些认知:4 个经典误区](https://mp.weixin.qq.com/s/FnNRLXxBCFxFy-1v8QigLQ) 25 | - [从Math RL初窥LLM推理模型:是怎么work、哪些trick是有效的!](https://mp.weixin.qq.com/s/5zlujCaxGY1CL8IZeGqT2g) 26 | - [[Experiment] Training R1-Zero-like models with Open R1](https://huggingface.co/spaces/open-r1/README/discussions/20) 27 | - [Reasoning 模型 RL 对齐的实际挑战](https://zhuanlan.zhihu.com/p/1892270905683575985) 28 | - [复现和改进 DeepSeek-R1 的一些 tips](https://mp.weixin.qq.com/s/xqWYdf2c9frWbznKNGiagA) 29 | - 2025.03 30 | 31 | - [浅谈 DeepSeek-R1 和 Kimi k1.5 论文中的思维链 + 强化学习](https://weaxsey.org/articels/2025-02-01/) 32 | - 2025.02 33 | - Evaluation 34 | - https://github.com/QwenLM/Qwen2.5-Math 35 | 36 | 37 | 38 | 39 | ## Paper 40 | 41 | - QwQ-32B-Preview 42 | 43 | - [Blog](https://qwenlm.github.io/zh/blog/qwq-32b/) 44 | 45 | - 训练的方法与Deepseek-R1相同 46 | 47 | - DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 48 | 49 | - 2025.01 50 | 51 | - Deepseek-R1-Zero 52 | 53 | - 直接对Base模型应用RL算法训练,没有使用任何有监督数据 54 | 55 | - 使用GRPO RL算法:摒弃了critic model,估计baseline使用了group scores(对于一个输出x,采样多个输出并计算rewards) 56 | 57 | ![GRPO](../assets/GRPO.png) 58 | 59 | - 奖励模型:未使用神经网络的奖励模型,具体使用两个rule-based的奖励方法:准确性方法(答案是否准确,code是否执行通过);格式遵循方法(生成内容是否遵循要求的格式) 60 | 61 | - 效果:Deepseek-R1-Zero取得了媲美o1的效果,当然也存在一定问题:可读性和生成内容多语言混合 62 | 63 | - Deepseek-R1 64 | 65 | - 不同Deepseek-R1-Zero,Deepseek-R1使用了几千个long CoT数据对base模型微调,作为一个冷启动。该方法主要是为了生成更具可读性的内容。 66 | - 生成内容语言混合问题使用了语言一致性奖励模型 67 | - 第二阶段RL训练:主要是为了提高模型的helpfulness和harmlessness,同时保持模型的推理能力 68 | 69 | - 模型蒸馏 70 | 71 | - 使用Deepseek-R1(经过第1阶段RL的模型)生成推理数据和非推理数据,共800k 72 | - 使用上述数据直接微调qwen和llama模型 73 | 74 | - 蒸馏和RL 75 | 76 | - 使用Deepseek-R1蒸馏的Qwen-32B模型甚至超过了使用和Deepseek-R1一样训练方式的Qwen-32B 77 | 78 | - 失败尝试 79 | 80 | - 过程奖励模型PRM 81 | - MCTS 82 | 83 | - KIMI K1.5: SCALING REINFORCEMENT LEARNING WITH LLMS 84 | 85 | - 2025.01 86 | 87 | - 概述 88 | 89 | - long context scaling:将RL的上下文窗口scale到了128K,并且观察到不断增长的上下文长度,导致了不断的性能提升 90 | - 简化的框架:在没有使用复杂技术如Monte Carlo tree search的情况下,学习到的CoT具有规划、反思和纠错的能力 91 | - 支持多模态 92 | 93 | - Reinforcement Learning 94 | 95 | - 策略优化使用了一种更加鲁棒的在线镜像下降算法 96 | 97 | - 相比传统的RL算法,去掉了value network:value function可能会阻碍模型自我探索、恢复以及纠偏的能力 98 | 99 | - 使用了长度惩罚,对于problem x,采样k个responses,计算min_length和max_length 100 | 101 | ![](../assets/kimi1_5_len_reward.png) 102 | 103 | - RL算法本身具有相对好的采样属性,也就是困难样本提供更大的梯度,论文引入了课程采样和优先采样算法,目的是为了获取更加高效的训练样本 104 | 105 | - reward model for math:使用了传统的RM和Chain-of-Thought RM,传统RM准确率84.4,Chain-of-Thought RM准确率98.5 106 | 107 | - Long2shot 108 | 109 | - 使用了model merging技术;最短CoT的拒绝采样;使用DPO训练,正确并较短的样本为正样本,正确并长的样本为负样本 110 | - 最后使用RL进行训练,单独执行了long2short RL训练阶段 111 | 112 | - 预训练 113 | 114 | - 多模态预训练;有监督微调,长上下文微调 -------------------------------------------------------------------------------- /Large-language-model/reward-model-loss.md: -------------------------------------------------------------------------------- 1 | # RLHF中reward model的奖励值有哪些计算方法?Loss如何计算? 2 | 3 | reward 模型的训练涉及到几个问题: 4 | 5 | - 奖励值如何输出?(注意不是reward model loss) 6 | - reward model的常见loss有哪些? 7 | - 针对不同的奖励值的输出方法、不同的loss计算,相应的reward model训练数据样式是怎么样的? 8 | - 可以使用的模型结构有哪些? 9 | 10 | ## decoder-only模型 11 | 12 | 如常见的GPT-1/2/3,Llama,Qwen,gemma等模型可以作为reward model的基座模型。 13 | 14 | 使用decoder-only模型有多种输出奖励值的方式: 15 | 16 | ### point wise 17 | 18 | 1. 获取输入序列的最后一个token的hidden state,然后接一个线性层映射到2分类(accept和reject),然后使用交叉熵损失计算loss。 19 | 20 | 2. 获取输入序列的最后一个token的hidden state,然后接一个线性层映射到一个标量值,然后使用MES等计算loss。要求训练数据的标签是一个标量值(打分值)。 21 | 22 | 存在的问题:不同标注人员的打分标准很难保持一致,如标注员A:0.8 VS 0.7,标注员B:0.6 VS 0.5 23 | 24 | 3. https://rlhflow.github.io/posts/2024-05-29-multi-objective-reward-modeling/ 25 | 26 | - reward model的训练是通过构建多个aspect的回归loss 27 | 28 | ### pair wise 29 | 30 | 1. 获取输入序列的最后一个token的hidden state,然后接一个线性层映射到一个标量值,将accept和reject的奖励差值作为loss进行优化,有两种具体实现方式: 31 | 32 | 1. OpenAI的实现方式: 33 | 34 | ```python 35 | class LogSigLoss(nn.Module): 36 | """ 37 | Pairwise Loss for Reward Model 38 | Details: https://arxiv.org/abs/2203.02155 39 | """ 40 | 41 | def forward(self, chosen_reward: torch.Tensor, reject_reward: torch.Tensor) -> torch.Tensor: 42 | return -torch.nn.functional.logsigmoid(chosen_reward - reject_reward).mean() 43 | ``` 44 | 45 | 2. Anthropic的实现方式 46 | 47 | ```python 48 | class LogExpLoss(nn.Module): 49 | """ 50 | Pairwise Loss for Reward Model 51 | Details: https://arxiv.org/abs/2204.05862 52 | """ 53 | 54 | def forward(self, chosen_reward: torch.Tensor, reject_reward: torch.Tensor) -> torch.Tensor: 55 | loss = torch.log(1 + torch.exp(reject_reward - chosen_reward)).mean() 56 | return loss 57 | ``` 58 | 59 | 2. token-level pairwise reward loss的具体实现方法 60 | 61 | **本质是accept response和reject response的token-wise的reward的差值的sigmoid(尽可能的去掉pad token loss,并且去掉prompt token loss)** 62 | 63 | 具体的实现方式参考:[url](https://github.com/CarperAI/trlx/blob/main/examples/summarize_rlhf/reward_model/reward_model.py) 64 | 65 | ```python 66 | def compute_loss( 67 | self, model: "PreTrainedModel", inputs: Dict[str, torch.Tensor], return_outputs: bool = False 68 | ) -> Union[torch.Tensor, Tuple[torch.Tensor, List[torch.Tensor]]]: 69 | r""" 70 | Computes pairwise loss. The first n examples are chosen and the last n examples are rejected. 71 | Subclass and override to inject custom behavior. 72 | Note that the first element will be removed from the output tuple. 73 | See: https://github.com/huggingface/transformers/blob/v4.39.1/src/transformers/trainer.py#L3777 74 | """ 75 | # Compute rewards 76 | _, _, values = model(**inputs, output_hidden_states=True, return_dict=True) 77 | unwrapped_model: "PreTrainedModel" = self.accelerator.unwrap_model(self.model) 78 | if getattr(unwrapped_model.config, "model_type", None) == "chatglm": 79 | values = torch.transpose(values, 0, 1) 80 | # Split the inputs and rewards into two parts, chosen and rejected 81 | batch_size = inputs["input_ids"].size(0) // 2 82 | chosen_input_ids, rejected_input_ids = inputs["input_ids"][:batch_size], inputs["input_ids"][batch_size:] 83 | chosen_rewards, rejected_rewards = values[:batch_size], values[batch_size:] 84 | chosen_scores, rejected_scores = [], [] 85 | # Compute pairwise loss. Only backprop on the different tokens before padding 86 | # Inspired by: https://github.com/CarperAI/trlx/blob/main/examples/summarize_rlhf/reward_model/reward_model.py 87 | loss = 0 88 | for i in range(batch_size): 89 | chosen_length = (chosen_input_ids[i] != self.tokenizer.pad_token_id).nonzero()[-1] + 1 90 | rejected_length = (rejected_input_ids[i] != self.tokenizer.pad_token_id).nonzero()[-1] + 1 91 | check_divergence = (chosen_input_ids[i] != rejected_input_ids[i]).nonzero() 92 | if len(check_divergence) == 0: 93 | end_index = chosen_length 94 | div_index = end_index - 1 95 | else: 96 | end_index = max(chosen_length, rejected_length) 97 | div_index = check_divergence[0] 98 | assert div_index > 0 99 | chosen_trunc_rewards = chosen_rewards[i, div_index:end_index] 100 | rejected_trunc_rewards = rejected_rewards[i, div_index:end_index] 101 | if return_outputs: # use the score on the last token except pad token for inference 102 | chosen_scores.append(chosen_rewards[i, chosen_length - 1]) 103 | rejected_scores.append(rejected_rewards[i, rejected_length - 1]) 104 | loss += -torch.nn.functional.logsigmoid(chosen_trunc_rewards - rejected_trunc_rewards).mean() 105 | loss = loss / batch_size 106 | if return_outputs: 107 | chosen_scores, rejected_scores = torch.stack(chosen_scores), torch.stack(rejected_scores) 108 | return loss, [loss, chosen_scores, rejected_scores] 109 | return loss 110 | ``` 111 | 112 | ## encoder-only模型 113 | 114 | 主要是使用传统的bert、deberta等模型,作为reward model的基座模型。 115 | 116 | 奖励值的输出的方法: 117 | 118 | 1. 基于传统的文本分类的方法,如使用cls的hidden state,或者对sequence hidden state进行pooling操作,接线形层进行分类 119 | 2. 直接接一个线形层,使用MSE或者RMSE计算loss,要求训练数据的标签是标量值 120 | 3. PairRM方法:基于deberta/roberta等模型实现 121 | 122 | codes: https://github.com/yuchenlin/LLM-Blender 123 | 124 | ![](../assets/RMRank.png) 125 | 126 | 4. Stanford SteamSHP: https://huggingface.co/stanfordnlp/SteamSHP-flan-t5-xl 127 | 128 | 129 | 130 | [**点击查看我的更多AI学习笔记github**](https://github.com/xueyongfu11/awesome-deep-learning-resource) 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | -------------------------------------------------------------------------------- /Low-rank-decomposition.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Paper 6 | 7 | ## LLM Low-rank-decomposition 8 | 9 | - ASVD: Activation-aware Singular Value Decomposition for Compressing Large Language Models 10 | - 2023.12 11 | - ASVD: 这是一种无需训练的方法,通过考虑激活分布来调整权重矩阵,从而更有效地管理激活异常值,提高分解的准确性和效率 12 | - Sensitivity-aware Truncation Rank Searching (STRS):这种方法评估每层对分解的敏感性,并为每层分配一个合适的秩(rank),以实现最优的层特定分解 13 | - 分解过程:ASVD通过奇异值分解(SVD)将权重矩阵分解为U、Σ、V三个矩阵,然后通过迭代校准过程来确定每个层的最优秩 14 | 15 | - LORD: Low Rank Decomposition Of Monolingual Code LLMs For One-Shot Compression 16 | - 2023.09, 17 | - LoRD:使用SVD对大模型进行分解,保留最大r个奇异值和相应的奇异矩阵 18 | - ![framework](./assets/LoRD.png) 19 | 20 | - TensorGPT: Efficient Compression of the Embedding Layer in LLMs based on the Tensor-Train Decomposition 21 | - 2023.07, 22 | - 提出了一种基于Tensor-Train Decomposition(TTD)的压缩大型语言模型中嵌入层的方法 23 | - 它通过TTD分解将每个token嵌入视为矩阵乘积态(MPS),实现参数数量的显著减少 24 | - 该方法利用低秩张量格式存储嵌入,降低了存储复杂性,并通过分布式计算提高了计算效率,使得模型能够适应词汇表的变化并部署在低端设备上 -------------------------------------------------------------------------------- /Machine-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Code 7 | 8 | - https://github.com/liuhuanyong/SinglepassTextCluster 9 | - singlepass聚类方法 10 | - https://github.com/josephmisiti/awesome-machine-learning 11 | - https://github.com/kmkurn/pytorch-crf 12 | - https://github.com/rasbt/mlxtend 13 | - https://github.com/unnati-xyz/ensemble-package 14 | - https://github.com/flennerhag/mlens 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Model-acceleration/llm-model-acceleration.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # llm-model-acceleration 4 | 5 | - flashMLA 6 | - 个人注释版:https://github.com/xueyongfu11/FlashMLA 7 | 8 | - CUDA C代码分析 9 | - [FlashMLA源码解析](https://zhuanlan.zhihu.com/p/27722399792) 10 | - [深度解析FlashMLA: 一文读懂大模型加速新利器](https://zhuanlan.zhihu.com/p/27976368445) 11 | - [flashMLA 深度解析](https://zhuanlan.zhihu.com/p/26080342823) 12 | 13 | - Triton代码分析 14 | - [FlashMLA 源码分析](https://zhuanlan.zhihu.com/p/27257803590) 15 | 16 | - flash-attention 17 | - https://github.com/Dao-AILab/flash-attention 18 | - 原理介绍:[FlashAttention V1 学习笔记](https://blog.csdn.net/weixin_43378396/article/details/137635161) 19 | - [flash attention triton视频视频讲解](https://www.bilibili.com/video/BV1j59tY1EFt):[my code](https://github.com/xueyongfu11/flash-attention/blob/main/flash_attn/flash_attn_triton.py) 20 | - [Multi Query Attention和Group-Query Attention介绍](https://mp.weixin.qq.com/s/wOyDpxcxKATxGrP8W-1w2Q) 21 | - Efficient Streaming Language Models with Attention Sinks 22 | - [Transformer参数量、计算量、显存占用分析](https://mp.weixin.qq.com/s/4_6J7-NZML5pTGTSH1-KMg) 23 | 24 | 25 | - SELF-ATTENTION DOES NOT NEED O(n2) MEMORY 26 | - 将self-attention的内存占用优化到了O(logn) 27 | - 考虑一个query和长度为n的key、value列表。attention的计算可以表示为分子和分母的迭代计算,而不需要保存中间计算结果,即i=i+1 28 | - 传统attention的计算会减去一个最大值防止溢出,新的懒计算的方法无法使用该方法。维护一个当前时刻的最大值,来更新计算结果 29 | -
30 | Image 31 | 32 |
33 | 34 | 35 | 36 | # 推理框架 37 | 38 | - https://github.com/alibaba/rtp-llm 39 | - https://github.com/bentoml/OpenLLM 40 | - 支持multi-lora, 本质是peft的api调用 41 | - https://github.com/huggingface/text-generation-inference 42 | - DeepSpeed-FastGen 43 | - https://github.com/microsoft/DeepSpeed/tree/master/blogs/deepspeed-fastgen 44 | - Deepspeed Inference 45 | - https://www.deepspeed.ai/tutorials/inference-tutorial/ 46 | - https://github.com/ModelTC/lightllm 47 | - https://github.com/NVIDIA/FasterTransformer 48 | - https://github.com/NVIDIA/TensorRT-LLM 49 | - https://github.com/Jittor/JittorLLMs 50 | - https://github.com/InternLM/lmdeploy/ 51 | - Blog 52 | - [大模型部署的方案](https://mp.weixin.qq.com/s/hSFuULV-7bykz-zRmG5CXA) 53 | 54 | - [大语言模型推理性能优化汇总](https://mp.weixin.qq.com/s/9mfx5ePcWYvWogeOMPTnqA) 55 | 56 | - [推理部署工程师面试题库](https://zhuanlan.zhihu.com/p/673046520) 57 | 58 | - [triton中文站](https://triton.hyper.ai/) 59 | 60 | -------------------------------------------------------------------------------- /Model-acceleration/model-acceleration.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # inference tools 4 | 5 | - tensorRT https://github.com/shouxieai/tensorRT_Pro 6 | 7 | - https://github.com/NVIDIA/FasterTransformer 8 | 9 | - 神经网络可视化工具 https://github.com/lutzroeder/Netron 10 | 11 | - https://github.com/htqin/awesome-model-quantization 12 | - 模型量化paper整理 13 | 14 | - https://github.com/airaria/TextPruner 15 | 16 | - Asset eXchange models 17 | - https://developer.ibm.com/articles/introduction-to-the-model-asset-exchange-on-ibm-developer/ 18 | 19 | # 模型并发推理 20 | 21 | - https://github.com/ShannonAI/service-streamer 22 | 23 | - https://github.com/thuwyh/InferLight 24 | 25 | - [Flask+Gunicorn的web服务](https://zhuanlan.zhihu.com/p/460235764) 26 | - Gunicorn采用多进程的方式处理请求,通过辅助工作进程的方式提高应用的并发能力 27 | 28 | 29 | # PTLM显存分析 30 | 31 | - [分析transformer模型的参数量、计算量、中间激活、KV cache](https://zhuanlan.zhihu.com/p/624740065) 32 | - [PyTorch显存分配原理——以BERT为例](https://zhuanlan.zhihu.com/p/527143823) 33 | - [Self Attention 固定激活值显存分析与优化及PyTorch实现](https://zhuanlan.zhihu.com/p/445016136) 34 | - [BertLarge 中间激活值分析](https://zhuanlan.zhihu.com/p/424180513) 35 | - [[实践] Sequence Parallel](https://zhuanlan.zhihu.com/p/626553071) 36 | - https://pytorch.org/tutorials/intermediate/autograd_saved_tensors_hooks_tutorial.html 37 | - torchinfo 38 | - 使用 torchinfo 可以查看模型共有多少参数,比直接print(model)的信息更全,可视化效果更好 39 | - 如果指定输入向量的shape,可以得到每一层输出的shape,总共占用多少显存 40 | 41 | # knowledge distillation 42 | 43 | - https://github.com/HoyTta0/KnowledgeDistillation 44 | 45 | - https://github.com/airaria/TextBrewer 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /Model-acceleration/vllm.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | ## Vllm 4 | 5 | - https://github.com/vllm-project/vllm 6 | - 高效的kv-cache管理,基于pageAttention 7 | - [vLLM 源代码分析](https://zhuanlan.zhihu.com/p/641999400) 8 | - [大模型推理框架 vLLM 源码解析(一):框架概览](https://zhuanlan.zhihu.com/p/681402162) 9 | - [大模型推理框架 vLLM 源码解析(二):Block 模块分配和管理](https://zhuanlan.zhihu.com/p/688660090) 10 | 11 | ### vllm参数理解 12 | 13 | - 模型参数、vllm日志理解: 14 | - https://github.com/vllm-project/vllm/issues/3561 15 | - max_num_batched_tokens 和 max_num_seqs 16 | 17 | - https://github.com/vllm-project/vllm/issues/2509 18 | - https://github.com/vllm-project/vllm/issues/2492 19 | - 只与prefilling stage有关,与解码阶段无关,这两个参数决定了prefilling stage的batchsize 20 | 21 | ### 充分利用KV cahe,流量尽量打到同一个服务器上 22 | 23 | ***User: 带状态的多实例,同一个用户的流量如何尽量打到同一个实例上*** 24 | 25 | Kimi: 要实现同一个用户的流量尽量打到同一个实例上,通常需要采用会话保持(Session Affinity)或者会话粘滞(Session Stickiness)的策略。以下是一些常见的方法和实践: 26 | 27 | 1. **使用Cookie进行会话保持** 28 | 29 | 通过在用户的浏览器中设置一个持久化的Cookie,可以确保用户的请求总是被路由到同一个后端实例。这种方法简单易行,但需要注意的是,Cookie可能会被用户拒绝或者在某些情况下不被发送。 30 | 31 | 2. **基于IP地址的会话粘滞** 32 | 33 | 通过检查用户的IP地址,可以将来自同一IP地址的请求路由到同一个后端实例。这种方法不需要用户的合作,但可能在多用户共享一个IP地址(如NAT环境下)时失效。 34 | 35 | 3. **基于HTTP头部的会话粘滞** 36 | 37 | 类似于IP地址的方法,可以通过检查和操作HTTP请求头部(如User-Agent)来实现会话粘滞。这种方法同样不需要用户的合作,但也可能存在准确性问题。 38 | 39 | 4. **应用层的会话保持** 40 | 41 | 在应用层实现会话保持,例如通过在应用中维护一个用户会话ID,并将该ID用于决定将请求路由到哪个实例。这通常需要对应用代码进行一定的修改。 42 | 43 | 5. **负载均衡器的会话保持功能** 44 | 45 | 许多负载均衡器(如Nginx、HAProxy等)都提供了会话保持功能,可以在负载均衡器层面实现用户流量的分配。这通常涉及到使用特定的算法或插件来识别和维护会话状态。 46 | 47 | 6. **分布式缓存系统** 48 | 49 | 利用Redis、Memcached等分布式缓存系统,可以在多个实例之间共享用户的会话信息。这样即使用户的请求在多个实例间切换,也能够保持会话的连续性。 50 | 51 | 7. **数据库会话存储** 52 | 53 | 对于需要频繁读写会话信息的应用,可以考虑将用户会话存储在数据库中。这样可以通过数据库的持久化和一致性保证来实现会话的跨实例共享。 54 | 55 | 8. **DNS轮询** 56 | 57 | 通过DNS轮询(Round Robin)可以将用户的请求分散到多个实例上,但这通常不是会话保持的目的。不过,可以在DNS层面做一些优化,比如根据用户的地理位置信息来分配最近的实例。 58 | 59 | 9. **应用容器化和服务网格** 60 | 61 | 使用容器化技术(如Docker、Kubernetes)和服务网格(如Istio)可以更好地控制服务的路由和流量管理。服务网格可以提供细粒度的流量控制,帮助实现复杂的路由策略,包括会话保持。 62 | 63 | 在实施上述策略时,需要考虑到系统的整体架构、应用的需求、用户的体验以及系统的可扩展性和可靠性。通常,最佳实践是结合多种方法,以达到最佳的会话保持效果。同时,还需要考虑到系统的故障转移和恢复能力,确保在某个实例不可用时,用户的会话不会丢失,或者能够快速恢复。 64 | 65 | ***User: 负载均衡器的会话保持功能,这种方式如何操作,具体一点*** 66 | 67 | Kimi: 负载均衡器的会话保持功能是一种确保来自同一用户的请求能够被定向到同一个后端服务器实例的技术。这种功能对于维护用户会话状态特别重要,尤其是在涉及到用户登录、购物车、游戏进度等需要保持状态的Web应用中。以下是一些具体的操作方法: 68 | 69 | 1. 使用Nginx负载均衡器 70 | 71 | Nginx是一个高性能的HTTP和反向代理服务器,它支持会话保持功能。在Nginx的配置文件中,可以通过以下方式实现会话保持: 72 | 73 | ```text 74 | http { 75 | upstream backend { 76 | server backend1.example.com; 77 | server backend2.example.com; 78 | # 会话保持基于Cookie 79 | sticky_cookie_name myapp_session; 80 | } 81 | 82 | server { 83 | listen 80; 84 | 85 | location / { 86 | proxy_pass http://backend; 87 | # 其他代理设置... 88 | } 89 | } 90 | } 91 | ``` 92 | 93 | 在这个配置中,`upstream` 指令定义了一个后端服务器组,`sticky_cookie_name` 指令指定了一个用于会话保持的Cookie名称。当Nginx接收到一个请求时,它会检查该请求是否包含名为`myapp_session`的Cookie。如果包含,Nginx会将请求转发到保存有相应会话的服务器;如果不包含,Nginx会创建一个新的会话Cookie,并将其与一个随机的后端服务器关联。 94 | 95 | 2. 使用HAProxy负载均衡器 96 | 97 | HAProxy是另一个流行的高性能TCP/HTTP负载均衡器。在HAProxy中,会话保持可以通过`cookie`参数实现: 98 | 99 | 在这个配置中,`frontend` 部分定义了一个监听80端口的前端,`backend` 部分定义了一个后端服务器组。`cookie` 指令用于创建一个名为`MYAPP`的Cookie,并将其用于会话保持。`balance source` 表示根据客户端的源IP地址来分配请求。 100 | 101 | **注意事项:** 102 | 103 | \- **性能考虑**:会话保持可能会影响负载均衡器的性能,因为需要额外的处理来维护会话状态。 104 | 105 | \- **可用性和故障转移**:在设计会话保持策略时,需要考虑到后端服务器的可用性和故障转移。如果一个服务器实例失败,负载均衡器需要能够将用户的会话转移到其他健康的服务器实例。 106 | 107 | \- **安全性**:使用基于Cookie的会话保持时,应确保Cookie的安全性,比如设置`Secure`和`HttpOnly`标志。 108 | 109 | \- **配置管理**:负载均衡器的配置应该定期进行审查和更新,以确保会话保持策略的正确性和安全性。 110 | 111 | 通过上述方法,可以有效地在负载均衡器中实现会话保持功能,从而确保用户在与Web应用交互时能够获得一致的体验。 112 | 113 | ### vllm调度器策略流程图 114 | 115 | ![](../assets/vllm-schedule.png) -------------------------------------------------------------------------------- /Multi-task-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## Repo 7 | - 多任务学习开源代码 https://github.com/namisan/mt-dnn 8 | - https://github.com/thuml/MTlearn 9 | - https://github.com/brianlan/pytorch-grad-norm 10 | - https://github.com/txsun1997/Multi-Task-Learning-using-Uncertainty-to-Weigh-Losses 11 | - https://github.com/richardaecn/class-balanced-loss 12 | 13 | - https://github.com/vandit15/Class-balanced-loss-pytorch 14 | - https://github.com/yaringal/multi-task-learning-example 15 | - https://github.com/choosewhatulike/sparse-sharing 16 | - https://github.com/VinAIResearch/PhoNLP 17 | - https://github.com/huggingface/hmtl 18 | 19 | - https://github.com/monologg/JointBERT 20 | - https://github.com/yuanxiaosc/BERT-for-Sequence-Labeling-and-Text-Classification 21 | - https://github.com/JayYip/m3tl 22 | - https://github.com/MenglinLu/LDA-based-on-partition-PLDA- 23 | - https://github.com/gregversteeg/corex_topic 24 | - https://github.com/yinizhilian/ACL_Paper 25 | 26 | - https://github.com/wenliangdai/multi-task-offensive-language-detection 27 | - https://github.com/PaddlePaddle/PALM 28 | - https://github.com/helloyide/Cross-stitch-Networks-for-Multi-task-Learning 29 | - https://github.com/drawbridge/keras-mmoe 30 | - https://github.com/facebookresearch/vilbert-multi-task 31 | 32 | - https://github.com/hellohaptik/multi-task-NLP 33 | - https://github.com/richardaecn/class-balanced-loss 34 | - https://github.com/mbs0221/Multitask-Learning 35 | - https://github.com/vandit15/Class-balanced-loss-pytorch 36 | 37 | 38 | ## Paper 39 | 40 | - [多任务学习中的loss平衡](https://mp.weixin.qq.com/s/dSrpDoL8am4bYMUhKNmsZQ) 41 | - 每个任务的损失函数的量纲不同,因此可以使用初始任务损失的倒数作为权重 42 | - 用先验分布代替初始分布更加合理,因此可以使用先验分布的损失的倒数作为权重 43 | - 使用实时的损失值的倒数来作为权重,基于此提出基于广义平均的方法 44 | - 为了获取平移不变性,以梯度的模作为调节的权重 45 | 46 | - GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /MultiModal/MultiModal-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | - https://github.com/HITsz-TMG/UMOE-Scaling-Unified-Multimodal-LLMs 6 | 7 | 8 | - https://github.com/thuiar/MMSA 9 | - https://github.com/pliang279/awesome-multimodal-ml 10 | - https://github.com/Paranioar/Cross-modal_Retrieval_Tutorial 11 | - 跨模态检索paper set 12 | - https://github.com/IDEA-CCNL/Fengshenbang-LM 13 | - 太乙:多模态预训练语言模型 14 | - https://wukong-dataset.github.io/wukong-dataset/benchmark.html 15 | - WuKong, benchmark, baseline 16 | 17 | 18 | # Paper 19 | 20 | ## multi-modal 21 | 22 | - BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 23 | - https://github.com/salesforce/BLIP 24 | - 提出了基于自举方法进行多模态预训练的统一多模态理解和生成模型BLIP 25 | - 基于双塔的结构,vision-encoder使用ViT,text-encoder使用bert,预训练任务使用了text-image对比损失(同CLIP) 26 | - 基于text-encoder构建image-grounded text encoder, 在self-attention和FFN中间添加了cross attention,使用image-text matching的预训练任务 27 | - 基于image-grounded text encoder构建image-grounded text decoder, 将self-attention中的双向注意力改为casual attention, 使用基于图像生成描述的预训练任务 28 | - 使用了自举法来清洗来自网络数据image-text pairs中的脏数据 29 | 30 | - VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts 31 | - 提出了基于专家混合模型的多模态语言模型 32 | - 模型的输入同ViLT,使用可以是单塔模型,也可以是双塔模型。transformer层共享同一个多头self-attention,后面跟三个专家网络FFN,language-FFN、vision-FFN、LN-FFN 33 | 34 | - Align before Fuse: Vision and Language Representation Learning with Momentum Distillation 35 | - ALBEF 36 | - 使用ViT作为image encoder,使用bert的前6层作为text encoder,后6层作为multi-modal encoder,同时在后6层添加cross-attention层把image融合进来 37 | - 基于image encoder 和 text encoder的输出构建对称的对比loss(同CLIP),在multi-modal encoder构建MLM loss和text-image matching loss,每个image从batch内负样本中采样一个hard负样本,方法是相似度越高(hard),会有更高的概率被采样为负样本 38 | - 使用momentum distillation的方式,解决了数据集中存在噪声的问题 39 | 40 | - ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision 41 | - 相比CLIP使用了单塔网络来建模文本和图像信息 42 | - 使用了ViT模型作为backbone,并使用vit模型参数初始化。 43 | - 文本输入由token embedding,position embedding,modal-type embedding相加组成,图像输入部分,首先将图像划分成N个C*P*P的patch,然后flatten之后使用线性层投射为visual token embedding,然后再和图像的postion embedding,modal-type embedding相加。最后将两种模态concat成序列输入到网络中 44 | - 提出两种预训练任务:MLM,image text matching 45 | 46 | - Learning Transferable Visual Models From Natural Language Supervision 47 | - CLIP模型 48 | - 从头训练text encoder和vision encoder,使用了线形层投射到同一个多模态空间,并进行l2 normalize 49 | - 使用了对称的对比学习loss 50 | - https://github.com/openai/CLIP 51 | 52 | 53 | ## multi-modal-llm 54 | 55 | - https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models 56 | - https://github.com/THUDM/VisualGLM-6B 57 | - https://github.com/THUDM/CogVLM 58 | 59 | 60 | - BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 61 | - https://github.com/salesforce/LAVIS/tree/main/projects/blip2 62 | - 提出Q-Former模型,目的是更好的提取视觉特征并与语言特征进行对齐,需要进行特征表示学习,对应paper中的第一阶段 63 | - 从训练好的Q-Former模型中获取视觉特征编码,然后同一个FC层得到visual token,最为context加入到LLM中,需要进行生成预训练,对应paper中的第二个阶段 64 | - Q-Former:仅共享了self-attention层的双transformer网络,构造可以学习query token,可以从视觉encoder中提取有效特征,因此在self-attention层之后引入了一个cross attention层。 65 | - 第一阶段训练由三个任务:图像文本对比学习(图像文本之前不进行注意力计算),基于图像的文本生成(类似UniLM注意力),图像文本匹配(双向注意力) 66 | 67 | - Visual Instruction Tuning 68 | - LLaVA 69 | - 基于GPT4模型生成多模态数据集,即基于图片描述和图片中bbox信息生成对话,细节描述,复杂推理的数据集 70 | - 基于CLIP和LLaMA模型,将图像的encoding结果线性投射到visual token,并作为context输入到llama中 71 | - 第一阶段训练:freeze CLIP和LLaMA的weights,只调整线性投射层的权重 72 | - 第二阶段训练:freeze CLIP的weights,调整线性投射层和llama的weights 73 | 74 | 75 | ## Information extraction 76 | 77 | - GeoLayoutLM: Geometric Pre-training for Visual Information Extraction 78 | - https://github.com/AlibabaResearch/AdvancedLiterateMachinery/tree/main/DocumentUnderstanding/GeoLayoutLM 79 | 80 | - Unifying Vision, Text, and Layout for Universal Document Processing 81 | 82 | - Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Product 83 | - 阅读笔记: 84 | - 从产品描述中提取属性和属性值,通过融合产品图片特征,来提高抽取效果 85 | - 使用global visual gate对text和image特征进行融合,本质是根据text和image特征生成一个权重(用来加权token-visual),然后得到融合的多模态特征 86 | - 多模态特征,cls特征,tokens加权特征,作为输入,使用多标签分类方法,分类出属性 87 | - regional visual gate:根据3识别出的属性和visual特征融合得到,目的是为了关注图像中的特定区域 88 | - tokens特征,多模态特征,区域门控加权的视觉特征,进行属性值抽取 89 | - 应为属性和属性值存在一致性,加入kl损失,然后使用多任务学习方式优化 90 | - 提出多模态实验数据集 91 | - code: https://github.com/jd-aig/JAVE 92 | 93 | 94 | ## AIGC 95 | 96 | - [StableDiffusion原理详细介绍](https://mp.weixin.qq.com/s/-aQt5JgtrdrgapLxo5YVwg) 97 | 98 | # datasets 99 | 100 | - https://rloganiv.github.io/mae/ 101 | - 电商领域多模态信息抽取数据集 102 | - https://paperswithcode.com/dataset/flickr30k-cna 103 | - 中文数据集 104 | - [多模态分析数据集(Multimodal Dataset)整理](https://zhuanlan.zhihu.com/p/189876288) 105 | - [华为诺亚开源首个亿级中文多模态数据集-悟空](https://mp.weixin.qq.com/s/qXwnKCVi01LRjDYpYl9jLw) 106 | -------------------------------------------------------------------------------- /MultiModal/Speech-LLM/audio-codec.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Resource 6 | 7 | - SpeechTokenizer: Unified Speech Tokenizer for Speech Large Language Models 8 | - 2023.08,ICML2024,Fudan 9 | - 为了评估语音令牌对于构建语音语言模型的适用性,作者建立了第一个基准测试SLMTokBench 10 | - 提出了SpeechTokenizer,这是一个为语音大型语言模型设计的统一语音分词,基于RVQ-VAE,它采用编码器-解码器架构,并结合残差向量量化(RVQ)技术 11 | - 基于SpeechTokenizer,作者构建了一个统一的语音语言模型(USLM),它结合了自回归和非自回归模型 12 | - https://github.com/LAION-AI/CLAP 13 | - 通过text-audio对比学习的方式进行audio的表示学习 14 | - High Fidelity Neural Audio Compression 15 | - 2022.10,Meta,EnCodec 16 | - https://github.com/facebookresearch/encodec 17 | - SoundStream: An End-to-End Neural Audio Codec 18 | - 2021.07, 19 | - VQ面临一个问题,如果要更加准确的表征音频片段,那就是它需要一个庞大的码本(codebook)来进行工作 20 | - 本工作提出了RVQ,RVQ是VQ的一个变种,它在多级量化过程中被使用。 21 | - 在第一级,使用标准的VQ过程来量化信号,然后计算出原始信号与第一级量化后的信号之间的残差,对这个残差再进行一次或多次量化,以进一步减小量化误差,每一级都会产生一个新的残差,然后对新的残差继续量化,这样做可以逐步细化量化结果,提高最终的重建质量。 22 | - Neural Discrete Representation Learning 23 | - 2017,VQ-VAE, 24 | - 将输入x编码为离散的向量,计算离散向量,映射到离散潜在嵌入空间e中的最近向量,映射结果输入到decoder解码出x' 25 | - 模型训练的损失: 26 | - 向量量化损失:使用l2范数来计算编码器输出和最近嵌入向量之间的距离,并通过梯度下降来最小化这个距离,在反向传播中更新离散潜在嵌入空间e; 27 | - 重建损失,即输入和输出的均方误差损失; 28 | - 为了确保编码器的输出不会无限制地增长,并且嵌入空间的体积保持稳定,引入了承诺损失(commitment loss),这有助于模型更坚定地选择特定的嵌入向量,类似正则项 29 | - 参数更新:编码器参数更新依赖于重建损失和承诺损失,解码器参数仅依赖于重建损失进行更新,离散潜在嵌入空间的更新主要依赖向量量化损失 -------------------------------------------------------------------------------- /MultiModal/Speech-LLM/other.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | ## 级联式speech2speech 4 | 5 | - HuggingGPT:整合了各个任务的pipline 6 | - AudioGPT 7 | - https://github.com/wwbin2017/bailing?tab=readme-ov-file 8 | - 百聆 是一个类似GPT-4o的语音对话机器人,通过ASR+LLM+TTS实现,集成DeepSeek R1等优秀大模型,时延低至800ms,Mac等低配置也可运行,支持打断 9 | 10 | ## 音频多模态 11 | 12 | - Qwen-Audio 13 | - https://github.com/QwenLM/Qwen-Audio 14 | - LLaSM: Large Language and Speech Model 15 | - 2023.08,Yi01 16 | - https://github.com/ga642381/speech-trident 17 | - ⭐⭐⭐ 18 | - https://github.com/QwenLM/Qwen2-Audio 19 | 20 | ## Other 21 | 22 | - fastrtc: https://github.com/freddyaboulton/fastrtc 23 | - 原来的gradio-webrtc 24 | - 它是一个用于实现实时通信(Real-Time Communication)的工具,支持音频和视频流的实时处理 -------------------------------------------------------------------------------- /MultiModal/Speech-LLM/speech2speech_v1.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## 全模态大模型(gpt-4o-like model) 6 | 7 | - AnyGPT: Unified Multimodal LLM with Discrete Sequence Modeling 8 | - 2024.02, Fudan 9 | - 将所有模态转化为离散的token,然后进行模型训练,支持各种模态的输入和输出。 10 | - 各个模态的离散token生成使用了现成的tokenizer和de-tokenizer 11 | - 提出了AnyInstruct-108k多模态数据集,包含了各种模态复杂交织的多轮对话数据集 12 | - https://junzhan2000.github.io/AnyGPT.github.io/ 13 | - https://ai-scholar.tech/zh/articles/large-language-models/anygpt 14 | - SpeechGPT-Gen: Scaling Chain-of-Information Speech Generation 15 | - 2024.01 16 | - OneLLM: One Framework to Align All Modalities with Language 17 | - 2023.12, CVPR2024 18 | - https://onellm.csuhan.com/ 19 | - Generative Multimodal Models are In-Context Learners 20 | - 2023.12, CVPR2024 21 | - https://baaivision.github.io/emu2/ 22 | - Unified-IO 2: Scaling Autoregressive Multimodal Models with Vision, Language, Audio, and Action 23 | - 2023.12,Allen AI 24 | - 可以同时理解和生成图片、文本、声音和动作的自回归的多模态模型 25 | - 为了克服训练中的稳定性和可扩展性问题,做了关键的架构更改,包括在perceiver resampler上使用2D旋转嵌入、QK归一化和缩放余弦注意力机制 26 | - https://zhuanlan.zhihu.com/p/682141007 27 | - AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model 28 | - 2023.09, FAIR & Meta 29 | - 使用多模态数据进行预训练,用轻量级adapter将各个模态投射到语言模型的表示空间(每个模态单独训练,然后进行模态之间的对齐) 30 | - 训练时freeze语言模型,从而达到多模态训练更快的收敛 31 | - 用到的不同模态的encoder:Our modality-specific encoder zoo includes: CLIP ViT-L, ViT-G, DinoV2 (image), CLAP (audio), IMU2CLIP (IMU motion sensor), and Intervideo (video) 32 | - NExT-GPT: Any-to-Any Multimodal Large Language Model 33 | - 2023.09, 34 | - https://next-gpt.github.io/ 35 | - Meta-Transformer: A Unified Framework for Multimodal Learning 36 | - 2023.07 37 | - IMAGEBIND: One Embedding Space To Bind Them All 38 | - 2023.05,Meta 39 | - 将其他模态如video或者audio对齐到image模态,就可以得到一个全模态对齐到同一个空间的目标 40 | - 使用CLIP进行初始化时,在将image对齐到其他模态时,也隐含了将text对齐到其他模态 41 | - 主要应用在图片检索,音频分类等 42 | - SpeechGPT: Empowering Large Language Models with Intrinsic Cross-Modal Conversational Abilities 43 | - 2023.05,Fudan 44 | - https://github.com/0nutation/SpeechGPT/tree/main/speechgpt 45 | - https://0nutation.github.io/SpeechGPT.github.io/ 46 | - stage1:模态适应预训练:只使用语音进行next token prediction训练(加入文本混合训练可能更好吧) 47 | - stage2:只是用了audio-text pair数据,输入是语音,输出是文本,训练时只计算text的loss(prefix部分除外) 48 | - stage3:使用lora训练,训练数据包含多种类型,text2speech、text2text、speech2text、speech2speech(感觉可以重点优化这个阶段) 49 | - CoDi: Any-to-Any Generation via Composable Diffusion 50 | - 2023.05, 51 | - https://codi-gen.github.io/ 52 | - VALOR: Vision-Audio-Language Omni-Perception Pretraining Model and Dataset 53 | - 2023.04 54 | - 李宏毅gpt-4o模型解读 55 | - https://www.youtube.com/watch?v=CgQ3lUOpXgc 56 | - PPT:https://drive.google.com/file/d/19bx4c60v5xudRvLiK0RnBQBAXMm0Dx70/view?usp=sharing 57 | - 混合编码器+语者自动分辨标记,混合编码器可以看 58 | - decoder是基于speech unit转化成声音波形 59 | - 纯speech2speech训练的可能性比较低,因为纯语音训练很难学习到足够的知识,可以参考两个paper,Toward Joint Language Modeling for Speech Units and Text;SPIRIT-LM: Interleaved Spoken and Written Language Model 60 | - 推理时可能是纯speech2speech 61 | - 如何验证?测试文字版gpt-4o和语音版的推理能力的差异,如果是纯speech2speech的方式,推理能力按理说比较弱 62 | - 如何同时做到听说看,参考Dialogue GSLM,将各个模态信息以类似的方式进行融合 63 | - 知乎问答 64 | - https://www.zhihu.com/question/655916579/answer/3497812976 65 | - https://zhihu.com/question/655951646/answer/3499150933 66 | - https://zhuanlan.zhihu.com/p/700092179 67 | - https://zhuanlan.zhihu.com/p/697582130 68 | - 提及了gpt-4o可能的数据生产方式 69 | - https://zhuanlan.zhihu.com/p/698552507 70 | 71 | 72 | 73 | [**点击查看我的更多AI学习笔记github**](https://github.com/xueyongfu11/awesome-deep-learning-resource) -------------------------------------------------------------------------------- /MultiModal/Speech-LLM/speech2speech_v3.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## Paper 8 | 9 | - Full-Duplex-Bench: A Benchmark to Evaluate Full-duplex Spoken Dialogue Models on Turn-taking Capabilities 10 | - 2025.03 11 | - codes: https://github.com/DanielLin94144/ Full-Duplex-Bench 12 | - 提供了全双工语音大模型对话交互能力评估的benchmark,从以下4个维度进行评估:pause handling(用户停顿时保持沉默)、backchanneling(用户说话时模型给与及时的肯定信号)、smooth turn taking(模型及时接管对话)、user interruption 13 | 14 | - Audio Flamingo 2: An Audio-Language Model with Long-Audio Understanding and Expert Reasoning Abilities 15 | - 2025.03 16 | 17 | - Step-Audio: Unified Understanding and Generation in Intelligent Speech Interaction 18 | - 2025.02,阶跃星辰 19 | - code:https://github.com/stepfun-ai/Step-Audio 20 | - 论文贡献 21 | - 开源130B统一end2end的语音对话模型Step-Audio-Chat,支持各种语音任务。支持多感情、多中声音模式、方言以及角色扮演等。 22 | - 基于130B模型蒸馏的数据训练并开源了TTS-3B模型 23 | - Step-Audio-Chat使用了语音输入,文本输出,TTS的框架,本质上仍然是一个级联式的语音大模型 24 | - ![image-20250314134529216](../../assets/StepAudio.png) 25 | - Tokenizer 26 | - 使用了双码书语音tokenizer框架。linguistic tokenizer使用了Paraformer模型的encoder。semantic tokenizer使用了CosyVoice的tokenizer。 27 | - 为了有效整合这两种tokenization方案,使用了token-level交错排列输入的方式。 28 | - LLM 29 | - 基于Step-1模型进行语音继续预训练 30 | - Speech Decoder 31 | - 由一个3B的语言模型,一个flow-matching模型和一个mel-to-wave的vocoder组成 32 | - speech decoder使用了dual-code交错排列方法,更好的整合linguistic和semantic特征。 33 | - 实时推理系统 34 | - 投机回复生成 35 | - 对话管理:历史对话中使用音频的转录文本 36 | - 流式的audio tokenizer:利用固定时间段分割语音 37 | 38 | - MinMo: A Multimodal Large Language Model for Seamless Voice Interaction 39 | - 2025.01,通义实验室 40 | - demo:https://funaudiollm.github.io/minmo/ 41 | - MinMo基于LLM利用了轻量级的模块对齐方法,包括Voice Encoder、LLM、Voice Decoder,全双工预测模块等。MinMo是一个完全end2end的语音大模型 42 | - MinMo的模型架构图 43 | - ![](../../assets/MinMo.png) 44 | - 使用SenseVoice-large encoder作为Voice Encoder,然后使用Input Project将audio token投影。Input Project由两层的Transformer和一层的CNN组成。 45 | - 使用Qwen2.5-7B-instruct模型作为LLM 46 | - 生成时,将每5个token和相应的hidden state送入到Ouput Projector中,Output Projector由一层线性层组成。 47 | - 然后送入到Voice Token LM中,Voice Token LM使用的是CosyVoice2模型。Voice Token LM自回归的生成15个speech token,使用Token2way Synthesizer生成最后的输出音频。Token2way Synthesizer由一个将token转为梅尔谱信息,一个将梅尔谱转为声音波形的vocoder等组成 48 | - Full Duplex Predictor由一个单层Transformer和softmax组成,主要是进行实时判断是否要加入对话以及中断对话 49 | 50 | - https://github.com/OpenBMB/MiniCPM-o 51 | 52 | - 2025.01 53 | - 在时间维度上将不同模态的输入/输出流分割成小块,并以块为单位进行编码/解码以实现更低的延迟。对于语音生成来说,我们设计了一种新颖的流式注意力策略使解码器能够在接收到第一个文本块时就开始生成音频。 54 | - 借鉴通信领域的时分复用技术,我们将每个模态的信息流分割成小块(每秒一块),并将同一秒内的所有模态信息组合成一个紧凑的序列单元输入给大语言模型主干。 55 | - 大语言模型和语音解码器则以混合方式连接: 56 | - speech embedding 连续特征控制语音、情感、口音及其他细粒度语音特征。在训练过程中,来自语音解码器的梯度会反向传播到包含大语言模型主干和音频编码器的整个模型参数。模型通过端到端方式训练,没有使用任何中间损失和监督 57 | - 将来自大语言模型的文本输入到语音解码器,来提供更好的语义控制和训练数据效率 58 | - 模型架构 59 | - ![image-20250314143409694](../../assets/MIniCPT-o.png) 60 | 61 | 62 | 63 | - SesameAILabs csm模型 64 | 65 | - 2025,SesameAILabs 66 | - code: https://github.com/SesameAILabs/csm 67 | - [模型介绍](https://www.sesame.com/research/crossing_the_uncanny_valley_of_voice) 68 | - version1 69 | - 首先使用多模态backbone处理交错的text和audio,来生成第0个codebook 70 | - 然后使用audio decoder建模剩下的N-1个codebook,audio decoder对每个codebook使用了不同的线性头。 71 | - 该版本在训练时占用较大的显存 72 | - ![image-20250314190917989](../../assets/csm01.png) 73 | - version2 74 | - 为了减少计算负担,只训练音频帧的1/16,注意需要对每帧的第0个codebook进行训练 75 | - 在训练过程中,该方法的decoder loss未出现显著变化 76 | - ![image-20250314202817284](../../assets/csm02.png) 77 | 78 | - LLaMA-Omni: Seamless Speech Interaction with Large Language Models 79 | 80 | - 2024.09, ICLR 81 | - LLaMA-Omni同时生成语音token和文本token,使用两阶段训练 82 | - ![image-20250314142135715](../../assets/LLaMA-Omni.png) 83 | 84 | - GLM-4-Voice 85 | - 2024.12,智谱AI 86 | - code:https://github.com/THUDM/GLM-4-Voice 87 | - 使用了单码本的speech tokenizer,从而避免推理时需要解码多层的语音token,提高效率 88 | - 模型对输入和输出使用了统一的speech表示,方便预测下一个token、也提高了非监督预训练的效率 89 | - speech tokenizer和speech decoder架构 90 | - ![](../../assets/glm4-voice-tokenizer-decoder.png) 91 | 92 | - Advancing Speech Language Models by Scaling Supervised Fine-Tuning with Over 60,000 Hours of Synthetic Speech Dialogue Data 93 | - 2024.12 94 | 95 | - Scaling Speech-Text Pre-training with Synthetic Interleaved Data 96 | - 2024.11 97 | 98 | - Generative Spoken Dialogue Language Modeling 99 | - 2022.03 100 | 101 | - https://github.com/baichuan-inc/Baichuan-Audio -------------------------------------------------------------------------------- /NER/unified-ner.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - https://github.com/universal-ie/UIE 4 | 5 | - Named Entity Recognition via Machine Reading Comprehension: A Multi-Task Learning Approach 6 | - 使用mrc的方式做ner任务,将每个实体类型构成的question和text拼接,然后使用同一个encoder进行编码 7 | - 将编码特征直接水平方向concatenate起来,通过一个self-attention层,对标签之间的依赖进行建模,输出的特征维度和输入的特征维度相同 8 | - 从输入中获取每个任务的输出,通过一个输出层,得到start index, end index, span index 9 | 10 | - A Unified MRC Framework for Named Entity Recognition 11 | - 提出了一个统一的基于MRC的flatten实体和嵌套实体的抽取方法 12 | - 使用两个多个二分类的header预测相应的start和end index,然后判断任意两个start和end组合是否构成一个实体 13 | - 具体方法是把start index和end index对应的hidden state concat起来用一个FFC层做二分类,来判断是否可以组成一个实体 -------------------------------------------------------------------------------- /PEFT/Parameter-efficient-finetune.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Resource 6 | 7 | - https://github.com/EricLBuehler/xlora 8 | - https://github.com/huggingface/peft 9 | - https://github.com/thunlp/OpenDelta 10 | - https://github.com/adapter-hub/adapter-transformers 11 | - https://github.com/Chaos96/fourierft 12 | 13 | # survey 14 | 15 | - Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning 16 | 17 | 18 | # peft 19 | 20 | - Learning to Route Among Specialized Experts for Zero-Shot Generalization 21 | 22 | - 2024.02 23 | 24 | - PHATGOOSE旨在通过参数高效微调后的专门化模块中进行路由,以改善对未见任务的零样本泛化能力。 25 | 26 | - 与以往学习在专门化模型间路由的方法同,PHATGOOSE探索了一种可能性,即如果能够针对模型中的每一层和每个token自适应地选择不同的专家,可能会提高零样本泛化能力。 27 | - 这种方法是后处理的(post-hoc),它不需要同时访问用于创建专门化模型的数据集,且在每个专家模型训练后只需要适度的额外计算。 28 | - LoraHub: Efficient Cross-Task Generalization via Dynamic LoRA Composition 29 | 30 | - 2023.07, 31 | - [blog](https://mp.weixin.qq.com/s/QlTxcwdtOt8NizqqBzo6yg) 32 | - 在不同的任务上训练相应的lora 33 | - 将训练好的lora加权起来,权重的计算使用了无梯度的组合优化算法,优化目标是评估集的loss,以及lora权重的正则项 34 | - 数据集:https://adapterhub.ml/explore/text_task/ 35 | - CPET: Effective Parameter-Efficient Tuning for Compressed Large Language Models 36 | - 2023.07 37 | - 为了减少模型压缩带来的知识损失,提出了知识继承和知识恢复模块 38 | - 首先使用未压缩的模型基于lora训练,得到lora的权重。然后使用压缩的模型,并使用训练好的lora进行初始化。 39 | - 为了恢复知识损失,对每个线形层添加恢复模块,具体是使用bottleneck结构,并使用sigmoid函数进行信息激活 40 | - Composing Parameter-Efficient Modules with Arithmetic Operations 41 | - 2023.06 42 | - 通过线性组合不同peft模块来研究分布泛化:不同分布数据训练的peft,多任务能力:不同nlp任务训练的peft,去学习能力:减少某种能力,领域泛化:泛化其他领域能力 43 | - π-Tuning: Transferring Multimodal Foundation Models with Optimal Multi-task Interpolation 44 | - 2023.04,ICML2023 45 | - 提出了一种名为π-Tuning的参数高效迁移学习方法,用于处理视觉、语言和视觉-语言任务。 46 | - π-Tuning的核心思想是通过预测任务之间的相似性,并将相似任务的轻量级专家参数进行聚合,以辅助目标下游任务的学习 47 | - LLM-Adapters: An Adapter Family for Parameter-Efficient Fine-Tuning of Large Language Model 48 | - 2023 49 | - 提出大模型微调用的adapter训练系统框架,包含常用的adapter,lora 50 | - https://github.com/AGI-Edgerunners/LLM-Adapters 51 | - ConPET: Continual Parameter-Efficient Tuning for Large Language Models 52 | - 2023 53 | - 提出基于PET的memory-based大模型持续学习方法 54 | - Static ConPET:使用一个PET模块,历史数据的获取使用了动态的历史数据重现的方法 55 | - Dynamic ConPET:使用多个PET模块,基于一个选择模块选取topk的PET模块,然后合并预测结果,为了减少计算负担,将pet模块的预测结果cache起来 56 | - 选择模块从支持k-1个schema到支持k个schema,涉及到分类类别维度的扩展 57 | - LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS 58 | - 2023 59 | - 使用了shift short attention来对大模型上下文长度进行扩展 60 | - shift short attention:一半注意力头只在组内进行注意力的计算,另外一半注意力头使用带重叠的滑动,使得不同组可以进行信息交互 61 | - 为了解决长上下文lora微调相比full finetune效果差的问题,对embedding和LN层进行了微调 62 | - Multi-Head Adapter Routing for Cross-Task Generalization 63 | - 2022.11,NeurlPS2023 64 | - 问题背景:研究者们关注于如何使用少量样本在多任务预训练后对未见任务进行泛化 65 | - 论文中提到了Polytropon(Poly)模型,它联合学习了一系列适配器和一个路由函数,该路由函数在预训练和少量样本适应期间为每个任务选择一组适配器的子集 66 | - 基于Polytropon模型,论文提出了MHR,这是一种新的路由函数,它通过将适配器的参数块组合起来,以更细粒度的方式进行路由,从而提高了模型的表达能力 67 | - Multi-Head Adapter Routing for Data-Efficient Fine-Tuning 68 | - 2022.11 69 | - 对前继工作Poly的讨论 70 | - 相比Poly对adapter的线性组合,引入类似multi-head attention机制,将adapter中的A/B进行分片,在分片内线性组合,然后再把结果进行concatenate 71 | - AdaMix: Mixture-of-Adaptations for Parameter-efficient Model Tuning 72 | - 2022.10 73 | - Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning 74 | - 2022.05, (IA)3 75 | - 为了使微调更有效,IA3(通过抑制和放大内部激活注入适配器)使用学习向量重新调整内部激活 76 | - IA3 权重被添加到 Transformer 模型的 key, value 和 feedforward 层 77 | - IA3 不会增加任何推理延迟,因为适配器(adapter)权重可以与基础模型合并 78 | - Combining Modular Skills in Multitask Learning 79 | - 2022.02 80 | - 提出一种多任务学习的peft模块组合方法 81 | - 预训练阶段:每个task由S个skill组成,每个skill对应一个adapter,同时每个任务对应一个skill selection binary matrix。预训练阶段学习的参数是adapter和skill selection矩阵 82 | - 测试阶段:对每个测试任务初始化相应的skill selection binary matrix,同时微调所有skill对应的adapter 83 | - code:https://github.com/microsoft/mttl 84 | - P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks 85 | - 2021.10, ACL2022 86 | - 相比P-tuning v1只在输入部分添加连续的prompt token,v2在每一层添加prompt token 87 | - 做抽取任务时,类似与bert做token分类,直接对每个位置的输出做分类 88 | - 探索: 89 | 1)分类任务使用更少的prompt token,抽取任务使用更多的prompt 90 | 2)先使用多任务的方式微调参数,再单个任务微调能有一定的提升 91 | 3)在靠近输出的模型层上添加prompt token,能获得更好的效果 92 | 4)Deep Prompt Tuning:在每一层添加prompt token,方法是先设定输入的prompt token,使用全连接层为每个token生成每层的k和v向量 93 | - CrossFit: A Few-shot Learning Challenge for Cross-task Generalization in NLP 94 | - 2021.04, EMNLP2021 95 | - The power of scale for parameter-efficient prompt tuning 96 | - 2021.04 97 | - Prompt Tuning方法 98 | - 在模型的输入层即embedding层concat上prompt token embedding 99 | - 训练时直接对prompt token embedding进行优化 100 | - GPT Understands, Too 101 | - 2021.03 102 | - P-tuning方法 103 | - 将prompt转化成可学习的embedding,并使用mlp+lstm对prompt embedding进行处理 104 | - 仅限在模型的输入层 105 | - Prefix-Tuning: Optimizing Continuous Prompts for Generation 106 | - 2021.01 107 | - 不同与Prompt Tuning,Prefix-Tuning时在每层添加prompt token,且每层的token embedding是共享同一个参数矩阵P 108 | - 直接更新P矩阵的参数会导致优化时不太稳定,因此使用了一个小矩阵P’,并通过一个大的前馈神经网络得到P矩阵 109 | - AdapterFusion: Non-Destructive Task Composition for Transfer Learning 110 | - 2020.05 111 | - 每个任务训练相应的adapter,使用adapterFusion融合训练好的adapter 112 | - adapterFusion:使用FFN的输出作为query,各个adapter的输出作为key和value,然后计算注意力 113 | - Parameter-Efficient Transfer Learning for NLP 114 | - 2019.02 115 | - adapter 116 | 117 | 118 | # task-related peft 119 | 120 | - Infusing Hierarchical Guidance into Prompt Tuning: A Parameter-Efficient Framework for Multi-level Implicit Discourse Relation Recognition 121 | - 2024.02, ACL 122 | 123 | - Knowledgeable Parameter Efficient Tuning Network for Commonsense Question Answering 124 | - 2023, ACL 125 | - 在freeze的bert的每层添加参数共享的adapter模块来吸收知识 126 | - 知识抽取:根据query中的实体获取三元组,然后将三元组组成句子从图数据库中检索相似的句子片段;直接使用query从图数据库中检索相似的句子片段 127 | - 模型架构:将PLM的第l层的输出和上一层adapter的输出拼接起来,注意PLM的第l层输出要使用一个门函数 128 | 129 | 130 | -------------------------------------------------------------------------------- /Paper-writing.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## 论文检索 6 | 7 | - [google学术检索](https://scholar.google.com/) 8 | - 主要基于关键词检索;论文资源比较完整 9 | - [google学术国内镜像](https://gg.xueshu5.com/) 10 | - [Semantic Scholar](https://www.semanticscholar.org/me/research) 11 | - 主要基于语义检索;太新的文章可能检索不到;适合与Google Scholar配合使用 12 | - [Arxiv](https://arxiv.org/search/) 13 | - [dblp](https://dblp.org/) 14 | - 包含了大多数会议或者期刊,适合基于会议或者期刊查找论文 15 | - [ACL Anthology](https://aclanthology.org/) 16 | - 主要是自然语言处理相关的会议论文 17 | - [Sci-Hub中文社区](https://discuss.sci-hub.org.cn/) 18 | - 论文获取网站 19 | - [connected paper](https://www.connectedpapers.com/) 20 | - 基于可视化图谱的论文检索,方便查找论文之间的引用关系 21 | - [Aminer](https://www.aminer.cn/) 22 | - [Paper Digest](https://www.paperdigest.org/) 23 | 24 | ## 作图 25 | 26 | - 常用 27 | - SciencePlots: 只支持折线图和散点图 28 | - matplotlib: 科研论文绘图实操干货!11类Matplotlib图表,含代码 29 | - seaborn 30 | - https://hiplot.cn/ 31 | - https://mp.weixin.qq.com/s/v64js_pupc7VjjWNq9Kosw 32 | - 神经网络作图,主要是CV方面作图 33 | - 那些漂亮的sci论文图一般用什么软件制作的 34 | - https://github.com/dair-ai/ml-visuals 35 | 包含100多个常用的神经网络的图,是google在线PPT的形式 36 | - 科研绘图配色推荐器: http://lcpmgh.com/colors/ 37 | 38 | ## 写作 39 | 40 | - https://github.com/tuna/thuthesis 41 | - LaTex模板 42 | - https://github.com/guanyingc/latex_paper_writing_tips 43 | - Tips for Writing a Research Paper using LaTeX 44 | - 如何以初学者角度写好一篇国际学术论文 45 | - 翻译 46 | - https://www.deepl.com/translator 47 | - chatgpt的翻译不错 48 | - 纠错 49 | - https://www.grammarly.com/ 50 | 2024年LaTex常见编辑器汇总:优缺点及配置教程 51 | - 论文润色 52 | - [比 Grammarly 更先进的英语论文修改润色软件](https://mp.weixin.qq.com/s/1MGVR6d4ecZTwR-sju3taQ) 53 | - 表格生成Latex工具TablesGenerator: https://www.tablesgenerator.com/ 54 | - 手写Letex字符识别; https://detexify.kirelabs.org/classify.html 55 | - 模型取名:https://acronymify.com/ 56 | - 对被检测为chatgpt的文章进行重写:https://undetectable.ai/ 57 | - [Consensus:]() 58 | - Consensus 是一个由 AI 驱动的搜索引擎,专门用于从 2 亿多篇经过同行评审的科学论文中提取和汇总关键信息。该平台旨在帮助用户快速找到基于科学证据的答案 59 | 60 | 61 | ## 其他 62 | 63 | - Conference Partner(会伴):https://www.myhuiban.com/ 64 | - MindGuide 人工智能会议:https://www.aihomecaring.com/?conference/ 65 | - AI 论文倒计时:https://aideadlin.es/ 66 | - 好像已经停更 67 | - https://github.com/acl-org/acl-style-files 68 | - Official style files for papers submitted to venues of the Association for Computational Linguistics -------------------------------------------------------------------------------- /Programming-language/C&C++.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [从零Makefile落地算法大项目,完整案例教程](https://zhuanlan.zhihu.com/p/396448133) 4 | 5 | -------------------------------------------------------------------------------- /Prompt-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | # Repo 5 | 6 | - https://github.com/CLUEbenchmark/pCLUE 7 | - 中文提示学习排行榜,将多个不同NLP任务转化成基于prompt格式,使用生成式模型进行预测 8 | - https://github.com/clue-ai/PromptCLUE 9 | 10 | - https://github.com/bigscience-workshop/promptsource/ 11 | - PromptSource is a toolkit for creating, sharing and using natural language prompts. 12 | - zero shot model https://huggingface.co/bigscience/T0pp/tree/main 13 | - thunlp prompt paper https://github.com/thunlp/PromptPapers 14 | - thunlp开源 https://github.com/thunlp/OpenPrompt 15 | - 刘知远 https://github.com/thu-coai/PPT 16 | 17 | 18 | ## survey 19 | 20 | - A Practical Survey on Zero-shot Prompt Design for In-context Learning 21 | - 2023 22 | 23 | - Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing 24 | - 2021 25 | 26 | ### 2022 27 | 28 | - PPT: Pre-trained Prompt Tuning for Few-shot Learning 29 | - 软提示,将软提示拼接在句首 30 | - 2022 31 | 32 | - P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks 33 | - ACL [[code]](https://github.com/THUDM/P-tuning-v2) 34 | -
35 | 阅读笔记: 36 | 1. 相比P-tuning v1只在输入部分添加连续的prompt token,v2在每一层添加prompt token
37 | 2. 做抽取任务时,类似与bert做token分类,直接对每个位置的输出做分类
38 | 3. 探索: 39 | 1)分类任务使用更少的prompt token,抽取任务使用更多的prompt 40 | 2)先使用多任务的方式微调参数,再单个任务微调能有一定的提升 41 | 3)在靠近输出的模型层上添加prompt token,能获得更好的效果
42 | 4. Deep Prompt Tuning:在每一层添加prompt token,方法是先设定输入的prompt token,使用全连接层为每个token生成每层的k和v向量 43 | 44 |
45 | 46 | ### 2021 47 | - It’s Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners 48 | - NAACL [[code]](https://github.com/timoschick/pet) 49 | -
50 | 阅读笔记: 51 | 1. 对PET的扩展,PET只支持一个mask,该文章支持多个mask
52 | 2. 推理时获取最大置信度的token来替换相应位置的mask,然后再经过一个前向来计算其他位置的token,多次迭代完成
53 | 3. 获取最大的mask长度,训练时使用一次前向,忽略冗余的mask token,计算交叉熵损失(比如最大mask长度时5,当前verbalizer长度时3,冗余的mask长度是2)
54 | 55 |
56 | 57 | - Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference 58 | - EACL [[code]](https://github.com/timoschick/pet) 59 | -
60 | 阅读笔记: 61 | 1. 提出了一个基于prompt learning的少样本文本分类模型
62 | 2. 构建patten,将任务转化为完形填空问题,将mask的输出结果映射到标签
63 | 3. 损失有交叉熵损失和MLM loss组成。计算交叉熵损失时,需要先获取所有标签对应的verbalizer的logits,使用softmax计算得分,真实label用one-hot表示,然后计算交叉熵损失
64 | 4. iPET:使用不同的patten训练多个模型,然后对部分无标注数据进行预测,将多个模型预测结果进行ensemble,作为soft-label训练集,然后和原始数据集合并再训练多个模型,上述过程迭代多次 65 | 66 |
67 | 68 | -------------------------------------------------------------------------------- /Quantization/llm-quantization.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | - https://github.com/openppl-public/ppq 6 | 7 | - https://github.com/NVIDIA-AI-IOT/torch2trt 8 | 9 | - https://github.com/HuangOwen/Awesome-LLM-Compression 10 | 11 | - https://github.com/intel/neural-compressor 12 | - Intel开源的模型量化、稀疏、剪枝、蒸馏等技术框架 13 | 14 | - [pytorch profiler 性能分析 demo](https://zhuanlan.zhihu.com/p/403957917) 15 | 16 | - https://github.com/666DZY666/micronet 17 | - 剪枝、量化 18 | 19 | - [大模型量化概述](https://mp.weixin.qq.com/s/_bF6nQ6jVoj-_fAY8L5RvQ) 20 | - 分为量化感知训练、量化感知微调、训练后量化 21 | 22 | 23 | ## Quantization-aware train/finetune 24 | 25 | ### 2023 26 | 27 | - LLM-FP4: 4-Bit Floating-Point Quantized Transformers 28 | - https://github.com/nbasyl/LLM-FP4/tree/main 29 | 30 | - LLM-QAT: Data-Free Quantization Aware Training for Large Language Models 31 | - https://github.com/facebookresearch/LLM-QAT 32 | - 提出了一种data-free的量化感知训练方法 33 | - 使用训练好的大模型生成量化感知训练数据,相比使用训练集进行量化感知训练,证明由更好的效果 34 | - 使用了MinMax的对称量化,对激活、权重、KV-cache等进行了量化,损失函数使用交叉熵损失 35 | 36 | - QLora 37 | - [blog](https://zhuanlan.zhihu.com/p/632229856) 38 | - 使用4位的NormalFloat(Int4)量化和Double Quantization技术。4位的NormalFloat使用block-wise量化和分位数量化, 39 | 通过估计输入张量的分位数来确保每个区间分配的值相等,模型参数符合均值为0的正态分布,因此可以直接缩放到 40 | [-1,1],然后使用正态分布N(0,1)的quatile quantization的量化值; 41 | Double Quantization是将额外的量化常数进行量化。 42 | - 梯度检查点会引起显存波动,从而造成显存不足问题。通过使用Paged Optimizers技术,使得在显存不足的情况下把优化器从GPU转义到CPU中。 43 | - QLora张量使用时,会把张量 反量化 为BF16,然后在16位计算精度下进行矩阵乘法。 44 | - https://github.com/artidoro/qlora 45 | - https://huggingface.co/blog/4bit-transformers-bitsandbytes 46 | - 介绍及使用 47 | 48 | ### 2022 49 | - LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale 50 | - [A Gentle Introduction to 8-bit Matrix Multiplication for transformers at scale using Hugging Face Transformers, Accelerate and bitsandbytes](https://huggingface.co/blog/hf-bitsandbytes-integration) 51 | - 量化的基本原理 52 | - transformers中的8bit的矩阵乘法 53 | - W8A8量化,根据激活参数量级大小,从激活中选取outliers,使用fp16*fp16的矩阵乘法,对于激活中的其他行,使用int8*int8的量化矩阵乘法 54 | - 选取激活中的outliers,同时需要将权重矩阵中相应的列取出,与outliners进行矩阵相乘 55 | 56 | 57 | ## Post-training quantization 58 | 59 | ### 2023 60 | - FPTQ: Fine-grained Post-Training Quantization for Large Language Models 61 | - 相比smoothquant,使用了指数函数把激活量化的难度转移到权重量化上 62 | - 相比通道量化,使用了分组量化 63 | 64 | - GPTQ: ACCURATE POST-TRAINING QUANTIZATION FOR GENERATIVE PRE-TRAINED TRANSFORMERS 65 | - 对OBQ的改进,使用了任意顺序方法进行量化,因此支持并行,提高量化速度 66 | - 使用了批次更新海森矩阵的逆,引入group_size的分组超参 67 | - 使用了Cholesky信息重组的方法,提高了稳定性 68 | 69 | - Up or Down? Adaptive Rounding for Post-Training Quantization 70 | - [blog](https://zhuanlan.zhihu.com/p/363941822) 71 | - 核心:对weights进行量化时,不再是round to nearest,而是自适应的量化到最近右定点值还是左定点值 72 | 73 | ### 2022 74 | 75 | - SmoothQuant和增强型SmoothQuant 76 | - 增强的SmoothQuant使用了自动化确定alpha值的方法,而原始的SmoothQuant则是固定了alpha值 77 | - [相关blog](https://zhuanlan.zhihu.com/p/648016909) 78 | 79 | - SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models 80 | - 使用了alpha增强的将激活量化难度转移到权重量化上,同时保证矩阵乘积不变 81 | - 实现时只对计算密集型算法进行了smooth量化,而对LN,relu,softmax等访存密集型算子使用fp16计算 82 | - ICML2023 -------------------------------------------------------------------------------- /Quantization/quantization.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | - https://github.com/NVIDIA/TransformerEngine 7 | 8 | 9 | ## Quantization-aware train/finetune 10 | 11 | - FP4量化 12 | - 要理解FP4量化,需要先理解FP8量化 13 | - https://huggingface.co/blog/zh/4bit-transformers-bitsandbytes 14 | 15 | - FP8 FORMATS FOR DEEP LEARNING 16 | - [FP8 量化-原理、实现与误差分析](https://zhuanlan.zhihu.com/p/574825662) 17 | - [FP8 量化基础](https://zhuanlan.zhihu.com/p/619431625) 18 | - [计算机如何表示小数,浮点数](https://zhuanlan.zhihu.com/p/358417700) 19 | 20 | - [量化感知训练基础](https://zhuanlan.zhihu.com/p/158776813) 21 | - 量化感知训练需要在模型中插入伪量化算子,来模拟量化推理 22 | - 量化感知训练时由于插入了伪量化算子,引起梯度不能正常回传,最直接的方法时梯度直通器 23 | - 量化感知训练更新的参数可以是原模型fp32的权重,也可以是量化参数如scale -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | # awesome-deep-learning-resource 4 | 5 | ## 项目概述 6 | - 个人总结的大模型LLM、自然语言处理NLP、计算机视觉CV、多模态等方向paper的阅读笔记 7 | - 收集到或者使用到的一些LLM、NLP、CV等领域的优秀开源仓库 8 | - 其他:如数据集、评测leaderboard等 9 | 10 | -------------------------------------------------------------------------------- /Recommendation-system/CTR.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | - https://github.com/shenweichen/DeepCTR 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Recommendation-system/Recommendation-system.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # Repo 7 | 8 | - https://github.com/tensorflow/ranking 9 | - 快速加入多模态信息进行推荐效果比较的框架 https://github.com/PreferredAI/cornac 10 | - 基于评论文本的深度模型推荐系统库 https://github.com/ShomyLiu/Neu-Review-Rec 11 | - https://github.com/jennyzhang0215/STAR-GCN 12 | - https://github.com/yang-zhou-x/GCN_HAN_Rec 13 | - https://github.com/breadbread1984/PinSage-tf2.0 14 | - https://github.com/AlexYangLi/KGCN_Keras 15 | - https://github.com/JockWang/Graph-in-Recommendation-Systems 16 | - https://github.com/Jhy1993/Awesome-GNN-Recommendation 17 | 18 | 19 | # Paper 20 | 21 | ## 航班行程排序 22 | 23 | ### 2020 24 | - Personalized Flight Itinerary Ranking at Fliggy 25 | - CIKM 26 | -
27 | 阅读笔记: 28 | 1. 提出了一个个性化的航班行程预定的rank模型,基于listwise来捕捉特征的上下文信息。对于数值型特征要进行归一化,类别型特征使用embedding空间查找来表示
29 | 2. 用户偏好表征:特征有历史行为信息、实时用户点击信息和属于相同用户组的组属性信息。使用LEF网络,具体是基于relative position的multi-head transformer,然后基于每层transformer的输出使用dense neural network融合每层的特征。最后将三种类型信息的输出concat。
30 | 3. 航班行程列表的表示仍然使用LEF网络,将用户表征跟每个行程的表征做注意力计算,损失函数使用交叉熵损失
31 | 32 |
33 | -------------------------------------------------------------------------------- /Sentiment-analysis/Aspect-based-setiment-analysis.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Repo 6 | 7 | - https://github.com/shantanuj/TC-LSTM-LeftRight- 8 | - https://github.com/HSLCY/ABSA-BERT-pair 9 | - https://github.com/eguilg/OpinioNet 10 | - https://github.com/uyplayer/AF-LSTM 11 | - https://github.com/l294265421/ACSA 12 | - https://github.com/songyouwei/ABSA-PyTorch 13 | - https://github.com/HSLCY/ABSA-BERT-pair 14 | - https://github.com/howardhsu/BERT-for-RRC-ABSA 15 | - https://github.com/songyouwei/ABSA-PyTorch 16 | - https://github.com/cuhksz-nlp/DGSA 17 | - https://github.com/deepopinion/domain-adapted-atsc 18 | - https://github.com/lixin4ever/BERT-E2E-ABSA 19 | - https://github.com/davidsbatista/Aspect-Based-Sentiment-Analysis 20 | - https://github.com/Diego999/SemEval-2014-Task-4-ABSA 21 | 22 | 23 | 24 | ## ABSA 25 | 26 | - 百度千言情感分析数据集 27 | - 包括句子级情感分类(Sentence-level Sentiment Classification)、评价对象级情感分类(Aspect-level Sentiment Classification)、观点抽取(Opinion Target Extraction) [地址](https://aistudio.baidu.com/aistudio/competition/detail/50/?isFromLUGE=TRUE) 28 | - https://github.com/InsaneLife/ChineseNLPCorpus 29 | 30 | -------------------------------------------------------------------------------- /Sentiment-analysis/Sentiment-analysis.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Repo 6 | - https://github.com/zhanglinfeng1997/Sentiment-Analysis-via-GCN 7 | - 情感分析预训练语言模型 https://github.com/thu-coai/SentiLARE 8 | 9 | - http://coai.cs.tsinghua.edu.cn/tools/4 10 | 11 | - https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/sentiment_analysis 12 | - 百度paddle开源 13 | 14 | 15 | ## datasets 16 | 17 | - ChnSentiCorp_htl_all 18 | - 7000 多条酒店评论数据,5000 多条正向评论,2000 多条负向评论 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/ChnSentiCorp_htl_all/intro.ipynb) 19 | - https://github.com/InsaneLife/ChineseNLPCorpus 20 | 21 | - waimai_10k 22 | - 某外卖平台收集的用户评价,正向 4000 条,负向 约 8000 条 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/waimai_10k/intro.ipynb) 23 | - https://github.com/InsaneLife/ChineseNLPCorpus 24 | 25 | - online_shopping_10_cats 26 | - 10 个类别,共 6 万多条评论数据,正、负向评论各约 3 万条, 包括书籍、平板、手机、水果、洗发水、热水器、蒙牛、衣服、计算机、酒店 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/online_shopping_10_cats/intro.ipynb) 27 | - https://github.com/InsaneLife/ChineseNLPCorpus 28 | 29 | - weibo_senti_100k 30 | - 10 万多条,带情感标注 新浪微博,正负向评论约各 5 万条 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/weibo_senti_100k/intro.ipynb) 31 | - https://github.com/InsaneLife/ChineseNLPCorpus 32 | 33 | - simplifyweibo_4_moods 34 | - 36 万多条,带情感标注 新浪微博,包含 4 种情感, 其中喜悦约 20 万条,愤怒、厌恶、低落各约 5 万条 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/simplifyweibo_4_moods/intro.ipynb) 35 | - https://github.com/InsaneLife/ChineseNLPCorpus 36 | 37 | - dmsc_v2 38 | - 28 部电影,超 70 万 用户,超 200 万条 评分/评论 数据 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/dmsc_v2/intro.ipynb) 39 | - https://github.com/InsaneLife/ChineseNLPCorpus 40 | 41 | - yf_dianping 42 | - 24 万家餐馆,54 万用户,440 万条评论/评分数据 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/yf_dianping/intro.ipynb) 43 | - https://github.com/InsaneLife/ChineseNLPCorpus 44 | 45 | - yf_amazon 46 | - 52 万件商品,1100 多个类目,142 万用户,720 万条评论/评分数据 [地址](https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/yf_amazon/intro.ipynb) 47 | - https://github.com/InsaneLife/ChineseNLPCorpus 48 | 49 | -------------------------------------------------------------------------------- /Some-NLP-Task/Coreference-resulation.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Repo 6 | 7 | - https://github.com/huggingface/neuralcoref 8 | 9 | 10 | ## dataset 11 | 12 | - CoNLL 2012 13 | - http://conll.cemantix.org/2012/data.html -------------------------------------------------------------------------------- /Some-NLP-Task/MRC.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | 7 | - https://github.com/BDBC-KG-NLP/QA-Survey-CN 8 | - https://github.com/sogou/SogouMRCToolkit 9 | - https://github.com/PaddlePaddle/RocketQA 10 | 11 | - IDEA UniMRC 12 | - https://huggingface.co/IDEA-CCNL/Erlangshen-UniMC-DeBERTa-v2-1.4B-Chinese 13 | 14 | 15 | # Dataset 16 | 17 | ## english datasts 18 | 19 | ### 抽取式阅读理解 20 | - https://rajpurkar.github.io/SQuAD-explorer/ 21 | - 源自维基百科文章的问答对。在SQuAD中,问题的正确答案可以是 给定文本中标记的任何部分。由于问题和答案是由人通过众包的方式产生的,因此它比其他一些问答数据集更加多样化 22 | - SQuAD 1.1 包含536篇文章中的 107785 个问答对 23 | - SQuAD 2.0 是最新版本,在原来基础上增加对抗性问题的同时,也新增了一项任务:判断一个问题能否根据提供的阅读文本作答 24 | 25 | - NewsQA 26 | - https://www.microsoft.com/en-us/research/project/newsqa-dataset/ 27 | - https://huggingface.co/datasets/newsqa 28 | - https://github.com/Maluuba/newsqa 29 | 30 | - BiPaR 31 | - https://github.com/sharejing/BiPaR 32 | 33 | - SubQA 34 | - https://huggingface.co/datasets/subjqa 35 | 36 | ### 其他QA数据集 37 | 38 | - https://microsoft.github.io/msmarco/ 39 | - 其背后的团队声称这是目前这一类别中最有用的数据集,因为这个数据集是基于匿名的真实数据构建的 40 | - 和 SQuAD 不一样,SQuAD 所有的问题都是由编辑产生的。MS MARCO 中所有的问题,都是在 Bing 搜索引擎中抽取 用户的查询 和 真实网页文章的片段 组成。一些回答甚至是“生成的”。所以这个数据集可以用在开发 生成式问答系统 41 | - 不太适合抽取式阅读理解任务 42 | 43 | - CNN/Daily Mail 44 | - 可以看出数据集规模是很大的,这是由于此数据集是半自动化构建的。数据集文章的来源是CNN和Daily Mail(两个英文刊物)中的文章,而每篇文章都有摘要,问题和答案是完形填空的形式——问题是被遮住一些实体后的摘要,答案是基于文章内容对被遮挡住实体的填充 45 | - 10w和20w 46 | 47 | - CoQA 48 | - [介绍](https://zhuanlan.zhihu.com/p/62475075) 49 | - 不是完全的抽取式数据集,答案存在整理 50 | - 多轮对话数据集 51 | 52 | 53 | ## chinese datasets 54 | 55 | 56 | - https://github.com/InsaneLife/ChineseNLPCorpus 57 | - [NLP机器阅读理解:四大任务及相应数据集](https://mp.weixin.qq.com/s/KXq0d0xXuGVDOzlNds0jgw) 58 | - [中文机器阅读理解(片段抽取)数据集整理](https://mp.weixin.qq.com/s/dYDalqYB4JRiTbMgHDkYKA) 59 | 60 | - https://github.com/baidu/DuReader 61 | - DuReader 62 | - [paper 链接](https://www.aclweb.org/anthology/W18-2605.pdf) | [数据集链接](https://ai.baidu.com/broad/introduction?dataset=dureader) 63 | - 30万问题 140万文档 66万答案 多文档 非抽取式,答案由人工生成 64 | - DuReade_robust 65 | - [数据集链接](https://github.com/PaddlePaddle/Research/tree/master/NLP/DuReader-Robust-BASELINE) 66 | - 2.2万问题,单篇章、抽取式阅读理解数据集 67 | - CMRC 2018 68 | - 2万问题 篇章片段抽取型阅读理解 哈工大讯飞联合实验室 69 | - [paper链接](https://www.aclweb.org/anthology/D19-1600.pdf) | [数据集链接](https://github.com/ymcui/cmrc2018) 70 | - 观点型阅读理解数据集 百度 71 | - [数据集链接](https://aistudio.baidu.com/aistudio/competition/detail/49/?isFromLUGE=TRUE) 72 | - 抽取式数据集 百度 73 | - [数据集链接](https://aistudio.baidu.com/aistudio/competition/detail/49/?isFromLUGE=TRUE) 74 | - 中文完形填空数据集 75 | - https://github.com/ymcui/Chinese-RC-Dataset 76 | - https://link.zhihu.com/?target=https%3A//github.com/ymcui/Chinese-RC-Dataset 77 | -------------------------------------------------------------------------------- /Some-NLP-Task/NLI.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | - https://github.com/pluto-junzeng/CNSD 7 | 8 | 9 | ## datasets 10 | - https://github.com/zejunwang1/CSTS 11 | 12 | -------------------------------------------------------------------------------- /Some-NLP-Task/NLP-basic-task.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # word segmentation 6 | - http://thulac.thunlp.org/ 7 | - thunlac 8 | - https://github.com/baidu/lac 9 | - baidu lac 10 | 11 | 12 | # dependency parsing 13 | - https://github.com/bamtercelboo/PyTorch_Biaffine_Dependency_Parsing 14 | - https://github.com/yzhangcs/parser 15 | - https://github.com/leodotnet/neural-chinese-address-parsing 16 | - https://github.com/baidu/DDParser 17 | - biaffine机制的句法分析 18 | - https://github.com/tdozat/Parser-v1 19 | - v2 https://github.com/tdozat/Parser-v2 -------------------------------------------------------------------------------- /Some-NLP-Task/Text-classification.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | ## document clssification 7 | - HAN模型,层次注意力模型,word->sentence-document https://zhuanlan.zhihu.com/p/44776747 8 | 9 | - https://github.com/ricardorei/lightning-text-classification 10 | - https://github.com/IBM/MAX-Toxic-Comment-Classifier 11 | - https://github.com/brightmart/text_classification 12 | - https://github.com/facebookresearch/fastText 13 | - fastText模型:ngram+word特征;向量平均;层次softmax 14 | 15 | ## 多分类 16 | - https://github.com/kaushaltrivedi/bert-toxic-comments-multilabel 17 | - https://github.com/lonePatient/Bert-Multi-Label-Text-Classification 18 | - https://github.com/hellonlp/classifier_multi_label_textcnn 19 | - https://github.com/lancopku/SGM 20 | - https://github.com/brightmart/multi-label_classification 21 | - https://github.com/RandolphVI/Multi-Label-Text-Classification 22 | - https://github.com/nocater/text_gcn 23 | - https://github.com/yao8839836/text_gcn 24 | 25 | 26 | ## few-shot 27 | 28 | - https://github.com/CLUEbenchmark/FewCLUE 29 | - 小样本学习测评基准-中文版 30 | - https://github.com/princeton-nlp/LM-BFF 31 | - https://github.com/daooshee/Few-Shot-Learning 32 | - https://github.com/ha-lins/MetaLearning4NLP-Papers 33 | - https://github.com/johnnyasd12/awesome-few-shot-meta-learning 34 | 35 | - https://github.com/ShaneTian/Att-Induction 36 | - 未开放paper,测试发现Induction network loss并不收敛,acc始终是20% 37 | - https://github.com/iesl/metanlp 38 | 39 | 40 | # Paper 41 | 42 | 43 | 44 | 45 | - AEDA: An Easier Data Augmentation Technique for Text Classification 46 | 47 | 48 | 49 | 50 | - Text Classification with Negative Supervision 51 | 52 | - PROTOTRANSFORMER: A META-LEARNING APPROACH TO PROVIDING STUDENT FEEDBACK 53 | - [[code]](https://github.com/mhw32/prototransformer-public) 54 | -
55 | 阅读笔记: 56 | 1. paper主要应用在code相关的meta-learning任务中,并在NLP任务有很好的效果
57 | 2. 使用robert对模型encoding,同时使用label embedding mean embedding作为一个token加入input,以此来融合side information
58 | 3. 使用SMLMT作为self-supervise的训练方式
59 | 4. details: 对于N-way K-shot C-query,采样时对每个类采样K个样本,然后对每个样本采样C个作为query;SMLMT并非是一个直接的分类问题,而是同一个类的support set和query set使用相同token mask;只希望正样本的距离比负样本的距离大就可以,所以推理时support set要包含真实类 60 |
61 | 62 | - Dynamic Memory Induction Networks for Few-Shot Text Classification 63 | -
64 | 阅读笔记: 65 | 1. two stage:pretrained model on train datasets,同时得到记忆权重W
66 | 2. meta-learning stage:使用动态记忆模块对支持集,记忆权重进行动态信息融合
67 | 3. 将2得到的embedding和query set进行cos计算
68 |
69 | 70 | 71 | 72 | 73 | - Induction Networks for Few-Shot Text Classification 74 | - [[code]](https://github.com/wuzhiye7/Induction-Network-on-FewRel;https://github.com/zhongyuchen/few-shot-text-classification) 75 | -
76 | 阅读笔记: 77 | 1. 采样一个episode,支持集(C个类别*K个样本),请求集(C*K)
78 | 2. 多支持集和请求集的样本text都用encoder进行embedding,具体是LSTM,然后使用self-attention加权得到text的句子embedding
79 | 3. 计算类别embedding:使用胶囊网络对每个样本进行嵌入,然后通过动态路由的方法加权类别的所有样本,得到类别embedding
80 | 4. 类别embedding和query集样本的两个embedding计算mse得分。 81 |
82 | 83 | - Convolutional Recurrent Neural Networks for Text Classification 84 | - IJCNN 85 | -
86 | 阅读笔记: 87 | 1. 提出了一种卷积循环神经络,具体是先用两种scale的卷积核,然后用 Max pooing,将两种特征图 concat,然后再通过 Lstm网络
88 | 89 |
90 | 91 | 92 | 93 | - Hierarchical Multi-Label Classification Networks 94 | -
95 | 阅读笔记: 96 | 1. 提出了一种融合了局部层次类别信息和全局类别信息的层次标签分类模型
97 | 2. HMCN-F每层都对应一个权重,当类别层级较多时会引起权重过多。HMCN-R相比HMCN-F,使用了lstm思想来共享权重
98 | 3. 全局信息输出是所有类别的sigmoid输出,每层对应一个经过sigmoid的局部信息输出,预测时将二者加权起来
99 | 4. 对于子类概率大于父类概率的不规范问题,引入了正则损失
100 | 101 |
102 | 103 | 104 | 105 | 106 | - Recurrent Convolutional Neural Networks for Text Classification 107 | - AAAI 108 | -
109 | 阅读笔记: 110 | 1. 提出了一种循环卷积神经网络 ,本质是全通过循环神经网络,然后网经输出和输入embedding拼接,使用 tanh激活函数, Max pooling最后接一个线性层分类
111 | 112 |
113 | 114 | # Datasets 115 | 116 | ## Chinese datasets 117 | - 今日头条中文新闻(短文本)分类数据集 :https://github.com/fateleak/toutiao-text-classfication-dataset 118 | - 数据规模:共38万条,分布于15个分类中 119 | - 采集时间:2018年05月 120 | - 以0.7 0.15 0.15做分割 121 | 122 | - 清华新闻分类语料: 123 | - 根据新浪新闻RSS订阅频道2005~2011年间的历史数据筛选过滤生成。 124 | - 数据量:74万篇新闻文档(2.19 GB) 125 | - 小数据实验可以筛选类别:体育, 财经, 房产, 家居, 教育, 科技, 时尚, 时政, 游戏, 娱乐 126 | - http://thuctc.thunlp.org/#%E8%8E%B7%E5%8F%96%E9%93%BE%E6%8E%A5 127 | - rnn和cnn实验:https://github.com/gaussic/text-classification-cnn-rnn 128 | 129 | - 中科大新闻分类语料库:http://www.nlpir.org/?action-viewnews-itemid-145 -------------------------------------------------------------------------------- /Some-NLP-Task/Text-generation.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## Repo 8 | - https://github.com/yangjianxin1/CPM 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Some-NLP-Task/Text-summary.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## Repo 8 | - https://github.com/liucongg/GPT2-NewsTitle 9 | - https://github.com/nlpyang/BertSum 10 | - https://github.com/xcfcode/Summarization-Papers 11 | - https://github.com/kedz/summarization-datasets 12 | - https://github.com/neulab/Text-Summarization-Papers 13 | - https://github.com/icoxfog417/awesome-text-summarization 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /TTS-And-STT.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## TTS 6 | 7 | - https://github.com/2noise/ChatTTS 8 | - 文本输出太长,会出现解码问题,约支持200字左右 9 | - 还不支持流式,需要开发 10 | - 只开源了推理代码 11 | - https://github.com/suno-ai/bark 12 | - 与ChatTTS原理相似 13 | - https://github.com/lucidrains/audiolm-pytorch 14 | - https://github.com/coqui-ai/TTS 15 | - https://github.com/gemelo-ai/vocos 16 | - https://github.com/fishaudio/fish-speech 17 | - 目前只支持动漫风格,开源了微调相关代码 18 | - 神经网络音频编解码器 19 | - HuBERT:Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units 20 | - 2021.07 21 | - EnCodec:High Fidelity Neural Audio Compression 22 | - 2022.10 23 | - TTS工具 24 | - https://github.com/coqui-ai/TTS 25 | - https://github.com/netease-youdao/EmotiVoice 26 | - https://github.com/open-mmlab/Amphion 27 | - https://github.com/metavoiceio/metavoice-src 28 | - https://github.com/DigitalPhonetics/IMS-Toucan 29 | - https://github.com/lucidrains/naturalspeech2-pytorch 30 | - https://github.com/AIGC-Audio/AudioGPT 31 | - Seed-TTS 32 | - https://bytedancespeech.github.io/seedtts_tech_report/ 33 | - https://arxiv.org/abs/2406.02430 34 | - https://www.jiqizhixin.com/articles/2024-06-26-8 35 | - NaturalSpeech 3: Zero-Shot Speech Synthesis with Factorized Codec and Diffusion Models 36 | - https://github.com/facebookresearch/audiocraft 37 | - 音频生成框架:EnCodec audio compressor / tokenizer,controllable music generation LM with textual and melodic conditioning 38 | - MAGNet:Masked Audio Generation using a Single Non-Autoregressive Transformer 39 | - 2024.01,meta 40 | - 非自回归的音频生成方法 41 | - Massively Multilingual Speech (MMS):Scaling Speech Technology to 1,000+ Languages 42 | - 2023.05,meta 43 | - CosyVoice:https://github.com/FunAudioLLM/CosyVoice 44 | - 2024.07,alibaba 45 | - https://fun-audio-llm.github.io/ 46 | - CosyVoice consists of an autoregressive transformer to generate corresponding speech tokens for input text, an ODE-based diffusion model, flow matching, to reconstruct Mel spectrum from the generated speech tokens, and a HiFTNet based vocoder to synthesize waveforms. 47 | 48 | ### end2end 49 | 50 | - VALL-E/VALL-E X/VALL-E R/VALL-E 2/MELLE 51 | - https://www.microsoft.com/en-us/research/project/vall-e-x/overview/ 52 | - VALL-E X非官方复现模型:https://github.com/Plachtaa/VALL-E-X/blob/master/README-ZH.md 53 | - VALL-E:输入:文本序列转化为音素序列,3s的音频使用Encodec编码离散的token,然后生成合成的音频token,再用Encodec解码为声波 54 | - Vits2 55 | - Improving Quality and Efficiency of Single-Stage Text-to-Speech with Adversarial Learning and Architecture Design 56 | - Bert-VITS2 2.2 57 | - https://github.com/PlayVoice/vits_chinese/tree/bert_vits 58 | - https://github.com/fishaudio/Bert-VITS2 59 | - Vits-Fast 60 | - https://github.com/Plachtaa/VITS-fast-fine-tuning 61 | - https://github.com/myshell-ai/OpenVoice 62 | - MeloTTS 63 | - https://github.com/myshell-ai/MeloTTS 64 | 65 | ### two-stage 66 | 67 | two-stage是从文本生成音频需要经过两个阶段,第一个是使用声学模型(Acoustic model)将文本转化为梅尔频谱,第二个阶段是使用声码器(Vocoder)将梅尔频谱转化为波形。 68 | 69 | - **Acoustic model** 70 | - tacotron 71 | - tacotron2 72 | - fastspeech 73 | - fastspeech2 74 | - **vocoder** 75 | - WaveNet: A Generative Model for Raw Audio 76 | - 一种基于dilated casual convolution的auto-regression方法 77 | - FFTNet:A REAL-TIME SPEAKER-DEPENDENT NEURAL VOCODER 78 | - 该图是生成单步value的模型架构图,实际使用时,循环该模型架构的计算,进行auto-regression的生成 79 | - img 80 | - WaveRNN 81 | - WaveGlow:是一种Flow-based model(不同于auto-regression方法)的方法 82 | - SeamlessM4T:SeamlessM4T: Massively Multilingual & Multimodal Machine Translation 83 | - a single model that supports speech-to-speech translation, speech-to-text translation, text-to-speech translation, text-to-text translation, and automatic speech recognition for up to 100 languages 84 | - 1M hours的自监督学习的语音语料,40w小时的多模态有监督微调语料 85 | - 在next token prediction loss的基础上添加了一个辅助任务loss 86 | - img 87 | - hifigan 88 | - melgan 89 | - waveglow 90 | 91 | ## STT 92 | 93 | - CrisperWhisper: Accurate Timestamps on Verbatim Speech Transcriptions 94 | 95 | - 2024.08 96 | 97 | - CrisperWhisper 通过改进 Whisper 的 tokenizer 和引入 DTW 算法,显著提高了逐字转录的准确性和词级时间戳的精度。该模型在不流畅性检测和噪声鲁棒性方面表现出色,并且能够有效减少幻觉现象。 98 | 99 | - SenseVoice 100 | 101 | - https://github.com/FunAudioLLM/SenseVoice 102 | - 2024.07,alibaba 103 | - 非自回归,效果优于whisper 104 | - high-precision multilingual speech recognition, emotion recognition, and audio event detection 105 | 106 | - Whisper:Robust Speech Recognition via Large-Scale Weak Supervision 107 | 108 | - 2022.12,openai 109 | 110 | - 模型:使用的是基于transformer的encoder-decoder结构 111 | 112 | - 为了支持多任务,使用不同的prompt或者说special token来表示不同的任务类型 113 | 114 | - trick:通过special token或者prompt来将多个任务一起建模 115 | 116 | - https://github.com/openai/whisper 117 | 118 | - img 119 | 120 | -------------------------------------------------------------------------------- /Text-retrieval/dataset.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## datasets 7 | 8 | - https://github.com/CLUEbenchmark/SimCLUE 9 | 10 | - DuReader-retrieval 11 | - https://github.com/zejunwang1/CSTS 12 | 13 | - OPPO手机搜索排序 14 | - OPPO手机搜索排序query-title语义匹配数据集。 15 | - 链接:https://pan.baidu.com/s/1Hg2Hubsn3GEuu4gubbHCzw 提取码:7p3n 16 | 17 | - 网页搜索结果评价(SogouE) 18 | - 用户查询及相关URL列表 19 | - https://www.sogou.com/labs/resource/e.php 20 | 21 | - ATEC语义相似度学习赛数据集 22 | - 比赛链接:https://dc.cloud.alipay.com/index#/topic/ranking?id=8 23 | - CCKS 2018 微众银行智能客服问句匹配大赛数据集 24 | - 比赛链接:https://biendata.com/competition/CCKS2018_3/leaderboard/ 25 | - ATEC + CCKS 2018 组合数据集 26 | - 由于ATEC比赛和CCKS 2018比赛提供的语料都是互金客服场景下的语料,所以把两个数据集的语料合并到了一起,基于分层抽样划分了出了训练集、验证集和测试集,其中: 27 | - 训练集、验证集和测试集的正类比例均为34%左右 28 | - 训练集:约24W样本 29 | - 验证集:1W样本 30 | - 测试集:1W样本 31 | - 哈工大BQ_corpus数据集 32 | - 数据集地址:http://icrc.hitsz.edu.cn/info/1037/1162.htm 33 | - 哈工大LCQMC数据集 34 | - 数据集地址:http://icrc.hitsz.edu.cn/Article/show/171.html 35 | 36 | - 千言文本相似度 37 | - 百度千言文本相似度,主要包含LCQMC/BQ Corpus/PAWS-X 38 | - [官网](https://aistudio.baidu.com/aistudio/competition/detail/45/?isFromLUGE=TRUE) 39 | - 丰富文本匹配的数据,可以作为目标匹配数据集的源域数据,进行多任务学习/迁移学习。 -------------------------------------------------------------------------------- /Text-retrieval/text-embeddding.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## sentence embedding 6 | 7 | - https://github.com/wangyuxinwhy/uniem 8 | 9 | - DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings 10 | 11 | - https://github.com/xlang-ai/instructor-embedding 12 | 13 | - https://huggingface.co/spaces/mteb/leaderboard 14 | - MTEB: Massive Text Embedding Benchmark 15 | 16 | - IDEA sentence embedding model 17 | - https://huggingface.co/IDEA-CCNL/Erlangshen-TCBert-330M-Sentence-Embedding-Chinese 18 | - https://huggingface.co/IDEA-CCNL/Erlangshen-TCBert-1.3B-Sentence-Embedding-Chinese 19 | - https://huggingface.co/IDEA-CCNL/Erlangshen-TCBert-110M-Classification-Chinese 20 | 21 | - https://huggingface.co/hkunlp/instructor-large 22 | 23 | - https://github.com/Separius/awesome-sentence-embedding 24 | - https://github.com/bojone/BERT-whitening 25 | - https://github.com/UKPLab/sentence-transformers 26 | - https://github.com/epfml/sent2vec 27 | 28 | 29 | ## unsupervised sentence embedding 30 | 31 | - R-Drop: Regularized Dropout for Neural Networks 32 | 33 | - ESimCSE: Enhanced Sample Building Method for Contrastive Learning of Unsupervised Sentence Embedding 34 | 35 | - ConSERT: A Contrastive Framework for Self-Supervised Sentence Representation Transfer 36 | 37 | - SimCSE: Simple Contrastive Learning of Sentence Embeddings 38 | - 基于dropout构建正样本 39 | 40 | - Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks 41 | 42 | 43 | ## vector retrieval database/tools 44 | 45 | - milvus https://github.com/milvus-io/milvus 46 | - faiss 向量检索的开山之作 https://github.com/facebookresearch/faiss 47 | - annoy https://github.com/spotify/annoy 48 | - 基于深度学习模型搭建搜索引擎 https://github.com/jina-ai/jina 49 | - 蚂蚁金服 https://github.com/wheresvic/zsearch 50 | - 京东 https://github.com/vearch/vearch 51 | - macrosoft https://github.com/microsoft/SPTAG 52 | - https://github.com/Hironsan/bertsearch 53 | - https://github.com/milvus-io/bootcamp -------------------------------------------------------------------------------- /Text-retrieval/text-retrieval.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Repo 6 | - 信息检索优质资源汇总 https://github.com/harpribot/awesome-information-retrieval 7 | - query,doc,profile搜索排序模型 https://github.com/linkedin/detext 8 | - https://github.com/terrifyzhao/text_matching 9 | - https://github.com/TharinduDR/Simple-Sentence-Similarity 10 | - https://github.com/NTMC-Community/MatchZoo-py 11 | - https://github.com/NTMC-Community/awesome-neural-models-for-semantic-match 12 | - https://github.com/MachineLP/TextMatch 13 | - https://github.com/pengming617/text_matching 14 | - https://github.com/shenweichen/DeepMatch 15 | - https://github.com/seatgeek/fuzzywuzzy 16 | - https://github.com/DengBoCong/text-similarity 17 | 18 | ## paper 19 | 20 | ### 2022 21 | 22 | - Pre-training Methods in Information Retrieval 23 | - survey 24 | - [blog](https://zhuanlan.zhihu.com/p/472950758) 25 | 26 | - Context Enhanced Short Text Matching using Clickthrough Data 27 | 28 | - [稠密段落检索的发展](https://mp.weixin.qq.com/s/A5Ne-FwcuLjUFjxlWDqeTw) 29 | 30 | ### 2021 31 | 32 | - RocketQA: An Optimized Training Approach to Dense Passage Retrieval for Open-Domain Question Answering 33 | - 2021 NAACL 34 | - 阅读笔记: 35 | 1. 提出了一个双塔的向量检索模型 36 | 2. 提出了三种训练优化方法:跨batch负样本(相对于batch内负样本);训练一个交互模型,使用交互模型来获取 难负样本;根据训练好的交互模型,获取更多的训练集 37 | - code: https://github.com/PaddlePaddle/Research/tree/master/NLP/NAACL2021-RocketQA 38 | 39 | - VIRT: Improving Representation-based Models for Text Matching through Virtual Interaction 40 | - year:2021 41 | - 阅读笔记: 42 | 1. 提出一种将交互模型的知识蒸馏到双塔模型的方法 43 | 2. 将双塔的隐层做交互来模拟交互模型的交互表示,然后跟交互模型的交互表示计算L2损失 44 | 3. 双塔模型的输出做双向注意力计算,得到u和v,u、v、|u-v|、max(u,v)拼接后接分类层 45 | - code: 46 | 47 | ### 2020 48 | 49 | - ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT 50 | - 2020 SIGIR 51 | - 阅读笔记: 52 | 1. re-rank:基于maxsim进行doc排序,具体是计算query中的每个token的embedding和doc中每个token的embedding的cosine相似度并取最大,然后相加,作为相似度进行文档排序 53 | 2. 用mask将query pad到固定长度,这种数据增强方式有一定的性能提升 54 | 3. end2end:使用faiss,query中的每个token的embedding来检索,然后将检索结果合并,然后将召回结果使用步骤1的方法re-rank 55 | 4. bert模型的输出经过一个线性层进行降维128,模型训练时使用LTR的pairwise loss,最大化相关doc和无关doc的分数差 56 | - code: https://github.com/stanford-futuredata/ColBERT 57 | 58 | - Poly-encoders: architectures and pre-training strategies for fast and accurate multi-sentence scoring 59 | - year: 2020 ICLR 60 | - 阅读笔记: 61 | 1. 提出跟bi-encoder推理速度相当,精度与cross-encoder接近的poly-encoder模型,该模型延续的bi-encoder的双transformer结构 62 | 2. 使用m个codex来表征context的global特征,m是超参数,影响推理速度 63 | 3. candidate的表征extand到m个condex,来计算注意力。然后根据注意力得分加权codex,从而得到context的表征,最后和candidate的表征计算得分 64 | - code: 非官方 https://github.com/sfzhou5678/PolyEncoder 65 | 66 | 67 | ## term weight 68 | - https://github.com/AdeDZY/DeepCT 69 | 70 | ## 类ES的全文检索框架 71 | 72 | ### ES 73 | 74 | - https://github.com/elastic/elasticsearch 75 | - https://github.com/medcl/elasticsearch-analysis-ik 76 | - 中文分词器 77 | - https://github.com/medcl/elasticsearch-analysis-pinyin 78 | - https://github.com/NLPchina/elasticsearch-analysis-ansj 79 | 80 | ### other 81 | 82 | 1. **TinySearchEngine**:这是一个开源的轻量级全文搜索引擎,它使用Lucene库作为基础,易于部署且资源占用低,适合个人博客、小型网站或内部应用的搜索需求。它提供了RESTful API接口,方便集成多种编程语言,并且具有易用性、灵活性、高性能和轻量化的特点。 83 | 2. **Manticore Search**:这是一个用C++开发的高性能搜索引擎,它在功能上是Elasticsearch的良好替代品。Manticore Search基于Sphinx Search,提供了改进的功能和更高的性能。它在某些场景中比Elasticsearch快15倍,并且具有成本低、全文搜索能力强、支持多种数据集大小和多种客户端语言的特点。 84 | 3. **MeiliSearch**:这是一个功能强大、快速、开源、易于使用和部署的搜索引擎。MeiliSearch的搜索和索引都是高度可定制的,支持拼写纠正、同义词替换、近义词搜索等功能,特别适合需要支持中文搜索的场景。它还提供了易于使用的Web界面和CLI工具,适合中小型企业使用。 85 | 4. **Zinc**:Zinc是一个轻量级的全文搜索引擎,作为Elasticsearch的替代品,它运行在不到100MB的RAM中,使用bluge作为底层索引库。Zinc简单易操作,提供了全文索引功能、一个用于安装和运行的单个二进制文件、Web UI以及与Elasticsearch API兼容的数据摄取方式。不过,它缺少集群和高可用性的功能。 86 | 5. **Lucene**:虽然Lucene不是一个框架而是一个库,但它是许多搜索引擎的基础,包括Solr和Elasticsearch。Lucene适合轻量级的全文搜索,并且资源占用较少,适合服务器资源有限的情况。使用Lucene可以自定义搜索引擎的功能,包括创建索引、更新文档、删除文档和索引以及执行搜索 87 | -------------------------------------------------------------------------------- /assets/BiLoRA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/BiLoRA.png -------------------------------------------------------------------------------- /assets/CRNN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/CRNN.png -------------------------------------------------------------------------------- /assets/FFTNet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/FFTNet -------------------------------------------------------------------------------- /assets/GRPO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/GRPO.png -------------------------------------------------------------------------------- /assets/HMCN-F.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/HMCN-F.png -------------------------------------------------------------------------------- /assets/KTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/KTO.png -------------------------------------------------------------------------------- /assets/LLaMA-Omni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/LLaMA-Omni.png -------------------------------------------------------------------------------- /assets/LoRD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/LoRD.png -------------------------------------------------------------------------------- /assets/MELoRA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/MELoRA.png -------------------------------------------------------------------------------- /assets/MIniCPT-o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/MIniCPT-o.png -------------------------------------------------------------------------------- /assets/MinMo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/MinMo.png -------------------------------------------------------------------------------- /assets/Mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/Mini.png -------------------------------------------------------------------------------- /assets/Mini_Omni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/Mini_Omni.png -------------------------------------------------------------------------------- /assets/Moshi-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/Moshi-input.png -------------------------------------------------------------------------------- /assets/Moshi_joint_repre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/Moshi_joint_repre.png -------------------------------------------------------------------------------- /assets/Moshi_loss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/Moshi_loss.png -------------------------------------------------------------------------------- /assets/P-Tuning-v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/P-Tuning-v2.png -------------------------------------------------------------------------------- /assets/PFRN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/PFRN.png -------------------------------------------------------------------------------- /assets/PI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/PI.png -------------------------------------------------------------------------------- /assets/RCNN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/RCNN.png -------------------------------------------------------------------------------- /assets/RMRank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/RMRank.png -------------------------------------------------------------------------------- /assets/RQ-Transformer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/RQ-Transformer.png -------------------------------------------------------------------------------- /assets/SDCUP1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/SDCUP1.png -------------------------------------------------------------------------------- /assets/SDCUP2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/SDCUP2.png -------------------------------------------------------------------------------- /assets/StepAudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/StepAudio.png -------------------------------------------------------------------------------- /assets/alphago.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/alphago.png -------------------------------------------------------------------------------- /assets/alphago_zero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/alphago_zero.png -------------------------------------------------------------------------------- /assets/csm01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/csm01.png -------------------------------------------------------------------------------- /assets/csm02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/csm02.png -------------------------------------------------------------------------------- /assets/ernie-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/ernie-layout.png -------------------------------------------------------------------------------- /assets/glm4-voice-tokenizer-decoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/glm4-voice-tokenizer-decoder.png -------------------------------------------------------------------------------- /assets/instructGPT1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/instructGPT1.png -------------------------------------------------------------------------------- /assets/instructGPT2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/instructGPT2.png -------------------------------------------------------------------------------- /assets/kimi1_5_len_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/kimi1_5_len_reward.png -------------------------------------------------------------------------------- /assets/lilt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/lilt.png -------------------------------------------------------------------------------- /assets/lora.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/lora.jpg -------------------------------------------------------------------------------- /assets/mini_omni_loss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/mini_omni_loss.png -------------------------------------------------------------------------------- /assets/mixlora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/mixlora.png -------------------------------------------------------------------------------- /assets/omni_parallel_decoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/omni_parallel_decoding.png -------------------------------------------------------------------------------- /assets/pick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/pick.png -------------------------------------------------------------------------------- /assets/reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/reward.png -------------------------------------------------------------------------------- /assets/seamlessM4T: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/seamlessM4T -------------------------------------------------------------------------------- /assets/tabularNet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/tabularNet.png -------------------------------------------------------------------------------- /assets/tapas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/tapas.png -------------------------------------------------------------------------------- /assets/tatqa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/tatqa.png -------------------------------------------------------------------------------- /assets/templateNER.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/templateNER.png -------------------------------------------------------------------------------- /assets/vllm-schedule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/vllm-schedule.png -------------------------------------------------------------------------------- /assets/whisper: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/whisper -------------------------------------------------------------------------------- /assets/xFormer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xueyongfu11/awesome-deep-learning-resource/596fb3533cf57e3cccb0d4e05a50708c2790ecc3/assets/xFormer.png -------------------------------------------------------------------------------- /awesome-DL-blog/Contrastive-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | - [张俊林:对比学习在微博内容表示的应用](https://mp.weixin.qq.com/s?__biz=MjM5MzY4NzE3MA==&mid=2247497128&idx=1&sn=0997501622c152c56fad9dd7f0add095&chksm=a691864591e60f53f594a4d39215e22a3f3adc5f9754b6dc985dd83567f595139e6eeb91c3fa&mpshare=1&scene=24&srcid=1022ReJs04EkY7dtCq20WcE6&sharer_sharetime=1634900024954&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A%2F13kBqrU8qVfi4GsLfVA6k%3D&pass_ticket=SHGOUtseKTQDhBbQUkxPd534tLY%2B6lmiRxoDIEirNdgCF3uij%2FoHBbS1BpQARUsW&wx_header=0#rd) 8 | - [利用Contrastive Learning对抗数据噪声:对比学习在微博场景的实践](https://zhuanlan.zhihu.com/p/370782081) 9 | - [对比学习(Contrastive Learning):研究进展精要](https://zhuanlan.zhihu.com/p/367290573) 10 | - [2021最新对比学习(Contrastive Learning)在各大顶会上的经典必读论文解读](https://mp.weixin.qq.com/s/9iHZqWGjJLz7Sw7JSnpmWQ) 11 | - [对比学习(Contrastive Learning)在CV与NLP领域中的研究进展](https://mp.weixin.qq.com/s/UlV-6wBZSGIH7y2uWaAAtQ) 12 | - [[论文随读]ACL2021对比学习论文一句话总结](https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247546768&idx=3&sn=2b901db23b200f3c1be1f92270ae157e&chksm=ebb70f44dcc086521b4acc4a8e34870083a849d3b256acf776fe26bf6db5ba78a7bb384b017b&mpshare=1&scene=24&srcid=1122ge21TiW4HuHCIsJ8BaQl&sharer_sharetime=1637544192248&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A5%2F9Y%2FC0ksa2ffPCD0buO%2FM%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 13 | - [图灵奖大佬 Lecun 发表对比学习新作,比 SimCLR 更好用!](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650427247&idx=4&sn=afe5889660c7758358e25d2df78775d2&chksm=becdc93589ba40230568db838c315d86a4f9e0565199fcbb4add834770c779a924e7da42a2e3&mpshare=1&scene=24&srcid=11184RuiYMo0ZB4FFIflceCR&sharer_sharetime=1637165934870&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=AzuUGV7dgs2oDllVfn7%2BRoQ%3D&pass_ticket=3YSLQZ0%2BFGkSbSLIxeI5ld3daRcSE5x5m%2FqFag47PCWFTeogIXft8nu1uI5rJumG&wx_header=0#rd) 14 | - [陋室快报-对比学习热文-20211115](https://mp.weixin.qq.com/s?__biz=MzIzMzYwNzY2NQ==&mid=2247487721&idx=1&sn=391155bf41b3169a9c949ed0424c6afc&chksm=e8824877dff5c161066ddbb9b96f60aebad0439b67c156889b7e16ee64621f55aa45d6003a60&mpshare=1&scene=24&srcid=11150N8snMWHjjthAnSYfkG3&sharer_sharetime=1636982174652&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A3PkxpffV5pLL9MZQQzlXT4%3D&pass_ticket=3YSLQZ0%2BFGkSbSLIxeI5ld3daRcSE5x5m%2FqFag47PCWFTeogIXft8nu1uI5rJumG&wx_header=0#rd) 15 | - [自监督对比学习(Contrastive Learning)综述+代码](https://zhuanlan.zhihu.com/p/334732028) 16 | - [对比学习(Contrastive Learning)综述](https://zhuanlan.zhihu.com/p/346686467) 17 | - [对比学习(Contrastive Learning)相关进展梳理](https://zhuanlan.zhihu.com/p/141141365) 18 | 19 | 20 | 21 | # NLP 22 | - [CoSENT(一):比Sentence-BERT更有效的句向量方案](https://kexue.fm/archives/8847) 23 | - [又是Dropout两次!这次它做到了有监督任务的SOTA](https://spaces.ac.cn/archives/8496) 24 | - [ACL 2021|美团提出基于对比学习的文本表示模型,效果提升8%](https://mp.weixin.qq.com/s/C4KaIXO9Lp8tlqhS3b0VCw) 25 | - [你可能不需要BERT-flow:一个线性变换媲美BERT-flow](https://kexue.fm/archives/8069) 26 | - [丹琦女神新作:对比学习,简单到只需要Dropout两下](https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247533410&idx=4&sn=30b4ebac4e5a53f7d4ab26e2830d5ce9&chksm=ebb77bb6dcc0f2a0d557fe7515741912a8503b556835b37a5c6ea7ac5ad1da4fcc981c0ab5fc&mpshare=1&scene=1&srcid=04283B09OrgnfhsQpAHFDrNv&sharer_sharetime=1619603216960&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A%2FhTSAed3D5EZ8yiQ3jReaE%3D&pass_ticket=ByIBSOIYAHACqz3WJN1dcPN%2B9hph%2BWklKYhLMYomHQ%2FGnhOMle2hsSltuKWZesaz&wx_header=0#rd) 27 | - [基于对比学习(Contrastive Learning)的文本表示模型为什么能学到语义相似度?](https://mp.weixin.qq.com/s/mX12zl5KTmcZDHPlVl8NZg) 28 | - [Open-AI:基于对比学习的无监督预训练](https://mp.weixin.qq.com/s/7S06f0WoXEqvvLNXm4tYjg) 29 | - [ACL2022 | 反向预测更好?基于反向提示的小样本槽位标注方法](https://mp.weixin.qq.com/s/pONO9Ta-pW7p7x9O605t1g) 30 | 31 | 32 | # CV -------------------------------------------------------------------------------- /awesome-DL-blog/Data-augmentation.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # NLP 7 | 8 | - [NLP提效,除了选择合适的模型,就是数据增强了](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247499718&idx=3&sn=244187396e0be076c362d66042642ae5&chksm=eb53eb55dc2462431a2b1973d7d5841155224058766b40abc920df890426db6fea9a582b226b&mpshare=1&scene=24&srcid=0223JH6BohqpsAVWq0lnmCzn&sharer_sharetime=1614052156803&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A8i3%2Bbs71dTLz2W%2F017MNK8%3D&pass_ticket=3YSLQZ0%2BFGkSbSLIxeI5ld3daRcSE5x5m%2FqFag47PCWFTeogIXft8nu1uI5rJumG&wx_header=0#rd) 9 | - [NLP中数据增强的综述,快速的生成大量的训练数据](https://mp.weixin.qq.com/s?__biz=Mzg5ODAzMTkyMg==&mid=2247489174&idx=2&sn=f767fa29fb0271991c1ffaa8b7efc3d2&chksm=c0699ecbf71e17dd414a688cb6b495212fd5cdc7bbd62a20092344a67de616dd5a0624dc30e4&mpshare=1&scene=24&srcid=&sharer_sharetime=1589850684741&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A22jcalMz0AkmI3jFSPjmhU%3D&pass_ticket=H0sgsFf0Diewumyma%2FRYfqkoyYzoismRNGo4T2CNs2J00r2R%2FjAgF5ufzYIdfDws&wx_header=0#rd) 10 | - [21页NLP上的数据增广方法综述](https://mp.weixin.qq.com/s/SuqmM3tR29aQiLE_mvM8gg) 11 | - [自然语言处理中数据增强(Data Augmentation)技术最全盘点](https://mp.weixin.qq.com/s/DOVXqlIEKIEU0Wo8nPYIBw) 12 | - 13 | 14 | 15 | ## 文本分类增强 16 | - [文本分类冷启动和低资源?文本增强了解一下](https://zhuanlan.zhihu.com/p/112877845) 17 | - [EMNLP2021之AEDA:一种更简单的文本分类数据增强技术](https://mp.weixin.qq.com/s?__biz=Mzg5MTU1NTE1OQ==&mid=2247484975&idx=1&sn=7d721053b41cb0dbb0826960b1716c2a&chksm=cfcada17f8bd5301beb33f5920c53814441d413cc9513cfc469d5a2da0e4282b19514f1b0384&mpshare=1&scene=24&srcid=09092sEMgIHmBJdK0P9be1kR&sharer_sharetime=1631200609463&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A74373Mmwx6ksraYoF8dM9o%3D&pass_ticket=3YSLQZ0%2BFGkSbSLIxeI5ld3daRcSE5x5m%2FqFag47PCWFTeogIXft8nu1uI5rJumG&wx_header=0#rd) 18 | 19 | -------------------------------------------------------------------------------- /awesome-DL-blog/Information-extraction/Keyphrase-extraction.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## 关键短语抽取 8 | 9 | - [分享一次专业领域词汇的无监督挖掘](https://spaces.ac.cn/archives/6540) 10 | - [谈谈医疗健康领域的Phrase Mining](https://mp.weixin.qq.com/s/2_6_5i-ycoj4XBS-J6kgDw) 11 | - [聊一聊 NLPer 如何做关键词抽取](https://zhuanlan.zhihu.com/p/258512947) 12 | - 方法原理总结性的文章,不涉及具体算法,重要 13 | - [中文短语抽取/挖掘](https://blog.csdn.net/rensihui/article/details/123299946) 14 | - 重要 15 | - [盘点 KeyBert、TextRank 等九种主流关键词提取算法原理及 Python 代码实现](https://zhuanlan.zhihu.com/p/568271135) 16 | - 重要 17 | - [NLP关键短语提取必备:从TextRank看PositionRank等四种花式变体的算法思想与开源实现](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650429837&idx=1&sn=a2d1b8663f3c2b0297139a85c4b3367a&chksm=becddfd789ba56c108f024473981f8e49b7c1adbe25de8b35102bb622a7a25fee70f532c245d#rd) 18 | - [关键短语抽取及使用BERT-CRF的技术实践](https://zhuanlan.zhihu.com/p/148502336) 19 | - [基于依存句法分析的关键短语抽取算法实战](https://zhuanlan.zhihu.com/p/107663730) 20 | 21 | 22 | ## 新词发现 23 | 24 | - [总结下新词发现的做法](https://zhuanlan.zhihu.com/p/421743481) -------------------------------------------------------------------------------- /awesome-DL-blog/Information-extraction/Other.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | - [信息抽取新SOTA!首个结构化生成式信息抽取预训练模型,一统信息抽取四大任务](https://zhuanlan.zhihu.com/p/495619962) 5 | - 区别与生成式模型,而是生成结构化的结果.可是使用多个任务的数据源,有更好的少样本学习泛化能力。 6 | - 预训练任务: 7 | - 基于schema的prompt + token sequence -> 结构化的输出 8 | - encoder无任何输入 -> 结构化的输出,让模型学习固定格式的输出 9 | - mask language model 10 | - 微调同预训练任务1 11 | 12 | 13 | - [实体库构建:离线大规模新词实体挖掘](https://mp.weixin.qq.com/s?__biz=MzIyNTY1MDUwNQ==&mid=2247484196&idx=1&sn=103aa0ca8b4645b75ddb446ee19c89f6&chksm=e87d3102df0ab814e3f260ff2d7c8c18b447fb218a911be7e009afca1c90bdd837f4af12ce42&scene=21#wechat_redirect) 14 | 15 | -------------------------------------------------------------------------------- /awesome-DL-blog/Information-extraction/Topic-model.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [短文本主题模型:LDA与GSDMM](https://zhuanlan.zhihu.com/p/415485534) -------------------------------------------------------------------------------- /awesome-DL-blog/Large-language-model/LLM.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## LLM 6 | 7 | 8 | - OpenAI的强化微调技术 9 | 10 | - [被OpenAI带火的强化微调RFT技术解析](https://blog.csdn.net/AIBigModel/article/details/144350849) 11 | - [OpenAI Day2:支持微调o1, 核心技术竟更早来自字节跳动!「强化微调」技术分析](https://news.qq.com/rain/a/20241207A00U9M00) 12 | 13 | - [在embedding上添加噪声提升泛化性](https://zhuanlan.zhihu.com/p/661962656) 14 | - [清华ACL 2023最新长文 | WebCPM:首个联网支持中文问答开源模型](https://mp.weixin.qq.com/s/WSzJpQBxQQKdMRRrDObICQ) 15 | - 提出模仿人类使用搜索引擎搜索复杂问题并与搜索引擎多次交互的中文数据集 16 | - [如何大幅度延长语言模型输入长度](https://mp.weixin.qq.com/s/Jymq2ho3VQx7-o6y-JHxeg) 17 | - 提出几种延长语言模型输入长度的方法 18 | - [韩国庆熙大学等最新《生成式人工智能AIGC》综述](https://mp.weixin.qq.com/s/w185vd78lIKgpbXzNXiLOg) 19 | - [GPT解数学题准确率升至92.5%!微软提出MathPrompter,无需微调即可打造「理科」语言模型](https://mp.weixin.qq.com/s/BR7XDIjb0s07w9OInHrJLg) 20 | - [总结开源可用的Instruct/Prompt Tuning数据](https://zhuanlan.zhihu.com/p/615277009) 21 | - [总结当下可用的大模型LLMs](https://zhuanlan.zhihu.com/p/611403556) 22 | - [ChatGPT应用端的Prompt解析:从概念、基本构成、常见任务、构造策略到开源工具与数据集](https://mp.weixin.qq.com/s/QJhqN6tn1FffDKdzWHuCAw) 23 | - [ChatGPT等GPT-3.5系列大模型的鲁棒性如何?](https://mp.weixin.qq.com/s/LGf3Y_k8IokG1rqiX_4YpQ) 24 | - [斯坦福等学者对ChatGPT做了在NLP几乎所有任务上的优劣势分析](https://mp.weixin.qq.com/s/xH89ENEMW6fWRoApLvgRZg) 25 | - [小米公司 Con 2024-Agent 技术在语音助手场景中的应用](https://mp.weixin.qq.com/s/HDWd-VpbC9jdiNYCvMLTPA) 26 | 27 | 28 | ## 大模型幻觉 29 | 30 | - [怎么阻止大模型说瞎话?](https://zhuanlan.zhihu.com/p/676530275) 31 | - 列举了缓解大模型幻觉的几个方法 32 | 33 | - [John Schulman:强化学习与真实性,通往TruthGPT之路](https://juejin.cn/post/7229891752647950394) 34 | - 理论性和启发性很强 35 | 36 | - [大模型「幻觉」,看这一篇就够了 | 哈工大华为出品](https://zhuanlan.zhihu.com/p/667478955) 37 | - 一篇综述性质的文章 38 | 39 | -------------------------------------------------------------------------------- /awesome-DL-blog/Large-language-model/RLHF.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## 大模型对齐 6 | 7 | - [有关DPO训练时,为什么chosen和rejected的reward一起下降的猜想](https://zhuanlan.zhihu.com/p/694381064) 8 | - [深度解析DPO及其变体在多种任务上的表现如何,该如何选择](https://mp.weixin.qq.com/s/DwBpfMiSbGJ8N07e6zN4eg) 9 | - [剑桥提出RLHF平替方案:在SFT以外,我们还能拿SFT数据做什么?](https://mp.weixin.qq.com/s/Sbu1-EA6gCKsyUdGpRTuRg) 10 | - [Self-Play的对齐算法介绍](https://zhuanlan.zhihu.com/p/699292524) 11 | - RLHF方法-PPO详解 12 | - [ChatGPT 背后的“功臣”——RLHF 技术详解](https://huggingface.co/blog/zh/rlhf) 13 | - [图解大模型RLHF系列之:人人都能看懂的PPO原理与源码解读](https://mp.weixin.qq.com/s/J8c7rEmkQH4lBj1pWntv9w) 14 | - PPO原理解读,非常详细 15 | - [详解大模型RLHF过程(配代码解读)](https://blog.csdn.net/qq_27590277/article/details/132614226) 16 | - [如何完成一次成功的对齐(1):SFT篇](https://zhuanlan.zhihu.com/p/687926037) 17 | 18 | ## offline-rlhf 19 | 20 | - [为什么我们应该做online RLHF/DPO?](https://mp.weixin.qq.com/s/f68yoZkByWlPvckoFK9qCg) 21 | - [仅靠开源数据复刻出LLaMA3指令学习效果,在线迭代RLHF全流程解决方案来了](https://www.jiqizhixin.com/articles/2024-05-18) 22 | 23 | 24 | ## 免微调对齐 25 | 26 | - [大模型免微调解锁对话能力,RLHF没必要了!节省大量成本和时间,一作上交大校友](https://zhuanlan.zhihu.com/p/670682075) 27 | - URIAL, base model的免微调方法 28 | - [OPO:无需训练实现价值观实时动态对齐:上交开源价值观对齐方法,闭源与开源大模型均适用](https://mp.weixin.qq.com/s/_CB0LBQVI_2NBiX63pyYSA) 29 | - OPO,收集相关法律或者道德准则,使用RAG检索与query相关的准则,基于检索结果来生成 30 | 31 | ## 面试trick 32 | 33 | - [在LLM中选择像传统RL中value network和policy network共享底座会有问题吗?如果有解释一下为什么?](https://zhuanlan.zhihu.com/p/699827201) 34 | - [RLHF中,为什么计算了两次actor_prob?](https://www.zhihu.com/question/654282515/answer/3481039875) -------------------------------------------------------------------------------- /awesome-DL-blog/ML.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 机器学习 7 | - [为什么要做特征的归一化/标准化?](https://mp.weixin.qq.com/s/vn3Rx38zCgFj-YGCTuvekA) 8 | - [线性模型(linear model)基本定义及参数求解数学本质、损失函数的选择与评估数学原理、及其基于线性模型衍生的其他机器学习模型相关原理讨论](https://www.cnblogs.com/LittleHann/p/10498579.html#_label5) 9 | - 10 | 11 | ## 机器学习理论 12 | - [变分推断——深度学习第十九章](https://zhuanlan.zhihu.com/p/49401976) 13 | - [【ML】LambdaMART算法原理--应用场景](https://blog.csdn.net/pearl8899/article/details/105597423) 14 | - 核函数 15 | - [机器学习笔记:高斯核函数](https://blog.csdn.net/bjchenxu/article/details/107478708) 16 | - 判别模型与生成模型 17 | - [生成模型与判别模型](https://blog.csdn.net/zouxy09/article/details/8195017) 18 | - HMM & CRF 19 | - [HMM到CRF 理解与学习笔记](https://cloud.tencent.com/developer/article/1821299) 20 | - [维特比算法(viterbi)原理以及简单实现](https://zhuanlan.zhihu.com/p/161436964) 21 | - [HMM——前向算法与后向算法](https://blog.csdn.net/zb1165048017/article/details/48577891) 22 | - [BiLSTM中的CRF层(三)CRF损失函数](https://blog.csdn.net/u013963380/article/details/108696552) 23 | 24 | ## 聚类 25 | - [六种常用的文本聚类方法介绍](https://zhuanlan.zhihu.com/p/141704985) 26 | - [情报分析必读:情报分析开源项目合集与single-pass自动文本聚类算法实现](https://mp.weixin.qq.com/s/HLmvonxnqZvZH08x3WM94g) 27 | - [一种简单的文本聚类算法:single-pass](https://zhuanlan.zhihu.com/p/91007237) 28 | - 显而易见,只对数据遍历一次,每次对文档找到一个匹配的簇,可以利用倒排索引以及精简词汇表等方法极高聚类效率 29 | 30 | ## 主题模型 31 | - [主题模型(topic model)到底还有没有用,该怎么用?](https://www.zhihu.com/question/34801598/answer/765580727) 32 | - [主题模型](https://blog.csdn.net/jiayalu/article/details/100533184) 33 | - [金融NLP需求落地实践总结——热门话题生成](https://zhuanlan.zhihu.com/p/268564361) 34 | - [BERTopic:NLP主题模型的未来!](https://mp.weixin.qq.com/s/DUiE71-qnYlQnYO_gL-YAA) -------------------------------------------------------------------------------- /awesome-DL-blog/Metric-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # 综述性blog 6 | 7 | - [度量学习](https://blog.csdn.net/xiaopihaierletian/article/details/53463253) 8 | - [对比学习和度量学习loss的理解](https://blog.csdn.net/orangerfun/article/details/124003841) 9 | - 对比学习是无监督的,度量学习是有监督的,正负例的构建方式不同 10 | 11 | -------------------------------------------------------------------------------- /awesome-DL-blog/MoE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [Mixture-of-Experts (MoE) 经典论文一览](https://zhuanlan.zhihu.com/p/542465517) 4 | - [对MoE大模型的训练和推理做分布式加速——DeepSpeed-MoE论文速读](https://zhuanlan.zhihu.com/p/466363675) -------------------------------------------------------------------------------- /awesome-DL-blog/Model-acceleration/Model-compression.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # 加速与量化 6 | 7 | - [部署系列——神经网络INT8量化教程第一讲!](https://zhuanlan.zhihu.com/p/405571578) 8 | - [彻底搞懂float16与float32的计算方式](https://blog.csdn.net/leo0308/article/details/117398166) 9 | - [关于半精度FP16的表示范围和精度、混合精度训练--彻底弄懂](https://blog.csdn.net/guanyonglai/article/details/127058613) 10 | - [大模型训练中的 fp32/fp16/bf16、混合精度、训练溢出](https://zhuanlan.zhihu.com/p/622631376) 11 | 12 | # KD 13 | 14 | - [知识蒸馏综述:代码整理](https://mp.weixin.qq.com/s/TbDpGrpsIYG3khsXrazyHw) 15 | - [模型压缩究竟在做什么?我们真的需要模型压缩么?](https://mp.weixin.qq.com/s/u94NZVwb_ywqjTMla2upbQ) 16 | - paper:Do We Really Need Model Compression? 17 | - 解释相对直接训练一个小模型,先训练大模型再进行蒸馏到小模型的必要性。直接训练一个小模型可能是非凸的,难以进行优化 18 | - 训练有素的神经网络存在某种简单性,比如:许多权重接近于0,矩阵是可以低秩分解的,权重可以使用少量的比特来表示,层直接趋向于学习相同的特征 19 | - [「深度学习中知识蒸馏」最新2022研究综述](https://mp.weixin.qq.com/s/2cgUFClQeJ2Jss6adDjUjA) 20 | 21 | 22 | ## bert 23 | 24 | - [所有你要知道的 BERT 模型压缩方法,都在这里!](https://mp.weixin.qq.com/s?__biz=MzA5ODEzMjIyMA==&mid=2247495697&idx=3&sn=445b198682cdd7afa9e5b9a105d280af&source=41#wechat_redirect) 25 | - [bert蒸馏瘦身相关的预训练语言模型](https://mp.weixin.qq.com/s/8xNWYJsIDz7j3KW4YyIBKA) 26 | - [4层小模型吊打BERT-large?亚马逊最新瘦身秘籍](https://mp.weixin.qq.com/s/Nt7KJvmL1WnGFgIyhOraBw) 27 | - 非蒸馏方法,砍掉bert模型的一些层,然后进行精调,但是砍掉不同层,对最终结果的影响很大 28 | - 模型提出一种最有子结构的搜索方法,然后进行预训练和精调 29 | - [bert模型压缩:量化、剪枝和蒸馏](https://mp.weixin.qq.com/s/6RUvMR-fjzB5PkZBQ4YFNQ) 30 | - 介绍bert模型各层的参数量及其推理速度 31 | - bert模型在几种模型压缩方法上的具体操作方法 32 | - [bert家族模型的压缩与蒸馏](https://mp.weixin.qq.com/s/UNHu1eVNorWWKbDb0XBJcA) 33 | - albert, tinyBert, distilBert等 34 | - [MobileBERT:一种任务无关的模型压缩方法](https://zhuanlan.zhihu.com/p/160833990) 35 | - [NeurIPS 2020 | MiniLM:预训练语言模型通用压缩方法](https://zhuanlan.zhihu.com/p/298390577) 36 | 37 | 38 | # Survey 39 | 40 | - [谷歌、Meta算法工程师给大模型瘦身-书](https://mp.weixin.qq.com/s/ax_SJmQ1SSUn_jutjY1jog) 41 | - [面向大规模神经网络的模型压缩和加速方法](https://mp.weixin.qq.com/s/ZqEJwYt7my2JQwY6yTTwHQ) -------------------------------------------------------------------------------- /awesome-DL-blog/Model-acceleration/Model-deployment.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 汇总 7 | 8 | - [轻量级模型设计与部署总结](https://mp.weixin.qq.com/s/a9yNr6hFVocPFe-DEmRiXg) 9 | - [模型部署工具箱 MMDeploy使用介绍](https://mp.weixin.qq.com/s/l494lru5RYEovkq16E1Rpg) 10 | 11 | 12 | ### pytorch转onnx 13 | 14 | - [在 C++ 平台上部署 PyTorch 模型流程+踩坑实录](https://mp.weixin.qq.com/s/0QVS71W68qAxqi3GbBQc8w) 15 | - [Pytorch转onnx详解](https://mp.weixin.qq.com/s/LKBCAuxJDEJ6Rs3Kzx3zQw) 16 | - [从pytorch转换到onnx](https://zhuanlan.zhihu.com/p/422290231) 17 | - [学懂 ONNX,PyTorch 模型部署再也不怕!](https://developer.aliyun.com/article/914229) 18 | - [pytorch导出torchscript记录](https://blog.csdn.net/zysss_/article/details/128222610) 19 | 20 | 21 | ## 模型加速 22 | 23 | - [【CUDA编程】Faster Transformer v1.0 源码详解](https://mp.weixin.qq.com/s/VzDCfKUMZBB_cO7uLjOUig) 24 | 25 | - [推荐几个不错的CUDA入门教程](https://godweiyang.com/2021/01/25/cuda-reading/) 26 | 27 | 28 | 29 | 30 | ## 官网 31 | 32 | - https://pytorch.org/docs/master/onnx.html 33 | - pytorch转onnx 34 | - https://onnxruntime.ai/ 35 | - onnxruntime推理引擎 36 | - https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/advanced/model_to_onnx_cn.html 37 | - paddle2onnx -------------------------------------------------------------------------------- /awesome-DL-blog/Model-acceleration/llm-model-acceleration.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # 大模型加速 6 | 7 | - [全栈Transformer推理优化第二季:部署长上下文模型-翻译](https://zhuanlan.zhihu.com/p/697244539) 8 | 9 | - [大模型推理妙招—投机采样(Speculative Decoding)](https://zhuanlan.zhihu.com/p/651359908) 10 | 11 | 12 | # RTP-LLM 13 | 14 | - [大模型推理优化实践:KV cache复用与投机采样](https://zhuanlan.zhihu.com/p/697801604) 15 | - 基于阿里RTP-LLM推理引擎的应用实践 16 | - 流量达到同一个实例 17 | - 使用投机采样技术 18 | 19 | - [大模型推理框架RTP-LLM对LoRA的支持](https://zhuanlan.zhihu.com/p/698331657) -------------------------------------------------------------------------------- /awesome-DL-blog/Multi-modal.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## 汇总 8 | - [POI名称生成竞赛二等奖方案分享](https://mp.weixin.qq.com/s/b3cvQkGho8e98eXj02zs8w) 9 | - NLP,CV,ML等 10 | - [中科院自动化所最新《视觉-语言预训练》综述](https://mp.weixin.qq.com/s/niESB3_5_0o2MPy6SvEZyA) 11 | 12 | 13 | ## cross-modal retrieval 14 | ### 2022 15 | - [Transformer Vision(二)|| ViT-B/16 网络结构](https://blog.csdn.net/qq_56039091/article/details/124785401) 16 | 17 | ### 2021 18 | - [论文笔记-UNITER: Learning Universal Image-Text Representations](https://www.jianshu.com/p/457e668715e4) 19 | - [ICML2021 | ALIGN:大力出奇迹,谷歌用18亿的图像-文本对训练了一个这样的模型](https://blog.csdn.net/moxibingdao/article/details/120320356) 20 | - [用不匹配的图文对也能进行多模态预训练?百度提出统一模态的预训练框架:UNIMO(ACL2021)](https://blog.csdn.net/moxibingdao/article/details/122532003) 21 | - [跨模态检索 | 图文检索梳理](https://zhuanlan.zhihu.com/p/392385222) 22 | - [Wukong:一亿规模的中文跨模态预训练基准](https://zhuanlan.zhihu.com/p/551622338) 23 | - 华为开源的中文多模态数据集 -------------------------------------------------------------------------------- /awesome-DL-blog/Multi-task-learning.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [深度学习多目标优化的多个loss应该如何权衡?](https://mp.weixin.qq.com/s/ZcsZec8vgdcUXlbTbQEH4A) 4 | - uncertainty weight方法;grad norm方法 5 | - [多任务学习漫谈:以损失之名](https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247558428&idx=1&sn=10ae39d6cc92c4e1517231adfa6be45d&chksm=96eb3a9ca19cb38a92da1c62011dcb243ff61db4b77f7b3685f92e349b1c938e536e63ae0291&scene=21#wechat_redirect) 6 | - [​多任务学习漫谈:行梯度之事](https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247560539&idx=1&sn=7f7071bde0758be1b320938a2713e459&chksm=96eb32dba19cbbcdd41fb408999e273c428bd32f87e55b4e030e3e9a0f1b25dfc65ea8399c67&scene=21#wechat_redirect) 7 | - [多任务学习漫谈:分主次之序](https://mp.weixin.qq.com/s/pE2X4o3ZCzf9Qw8COwKlWA) 8 | 9 | - [GradNorm 梯度归一化](https://blog.csdn.net/Leon_winter/article/details/105014677) 10 | - [精读论文:Multi-Task Learning as Multi-Objective Optimization](https://blog.csdn.net/m0_38088084/article/details/108009616) 11 | 12 | - [多任务学习权重的动态调整](https://blog.csdn.net/u013453936/article/details/83475590?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.not_use_machine_learn_pai) 13 | - [深度学习多目标优化的多个loss应该如何权衡](https://mp.weixin.qq.com/s?__biz=MzI5MDUyMDIxNA==&mid=2247550270&idx=1&sn=9c950329b93d0ec9387cbc974bc8e68f&chksm=ec1ce8c7db6b61d1c2b7e842f28f615b3812692a576405edf05573fad9d9be55a571d2970d62&mpshare=1&scene=24&srcid=0408gubQhUXcOzpctJQzaxie&sharer_sharetime=1617845263625&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A9ip0V4nF9GgII4AZe0d%2FsE%3D&pass_ticket=3YSLQZ0%2BFGkSbSLIxeI5ld3daRcSE5x5m%2FqFag47PCWFTeogIXft8nu1uI5rJumG&wx_header=0#rd) 14 | - [多任务学习之非深度看起来头大的部分](https://zhuanlan.zhihu.com/p/361464660) 15 | - [多任务学习笔记收藏(综述及图像应用方向)](https://zhuanlan.zhihu.com/p/105703841) 16 | - [多任务学习优化(Optimization in Multi-task learning)](https://zhuanlan.zhihu.com/p/269492239) 17 | - [Multi-task Learning(Review)多任务学习概述](https://zhuanlan.zhihu.com/p/59413549) 18 | - [深度学习的多个 loss 是如何平衡的?](https://mp.weixin.qq.com/s?__biz=MzIwOTc2MTUyMg==&mid=2247497472&idx=3&sn=878abbdbde7890cc4da2b7cd2d24bcbf&chksm=976c529da01bdb8bc626631444dda4cf8fe8a310f9fe5d7ac36c686b10002cb91b186d6e3291&scene=0&xtrack=1&exportkey=A23dPWoNDlQMXGkMz1PXY78%3D&pass_ticket=peaJqRABUyiyXUkxShtHPoJ7onMoJTA4OFYeMuNaXmdNKq47G0x8XJEm7afGdVcX#rd) -------------------------------------------------------------------------------- /awesome-DL-blog/OCR.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## OCR 8 | 9 | - [OCR技术发展综述与实践,与IDP的结合](https://mp.weixin.qq.com/s/Wf6zmy1PNwnrG8G_RMH4qQ) 10 | - OCR技术与IDP(智能文档处理)的结合,主要是版面分析 11 | - [OCR文字检测——EAST模型解析](https://zhuanlan.zhihu.com/p/76071500) 12 | 13 | 14 | ## 表格识别 15 | 16 | - [论文解读丨表格识别模型TableMaster](https://zhuanlan.zhihu.com/p/426215026) 17 | - [CascadeTabNet: 从PDF文件中提取表格](https://zhuanlan.zhihu.com/p/377725118) 18 | - [海康威视OCR/表格识别开源](https://mp.weixin.qq.com/s/Z865VsOJ4jiu93IoQak7gg) 19 | - [表格识别方法综述](https://mp.weixin.qq.com/s/Vq_0kzrwb-Wa_9flSsveQA) 20 | - [TSRFormer:复杂场景的表格结构识别新利器](https://mp.weixin.qq.com/s/_MwTMHNNmNN_xXtTWu6GIg) 21 | - [平安产险提出TableMASTER:表格识别大师](https://mp.weixin.qq.com/s/RIQkj4xM5DEjxhMRlPjtXw) -------------------------------------------------------------------------------- /awesome-DL-blog/Other.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # other 7 | - [一文了解文本分割任务](https://mp.weixin.qq.com/s/tNWIr-ZL3Ovp7ECbOSLQVA) 8 | - [别再喊我调参侠!“科学炼丹”手册了解一下](https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247509654&idx=4&sn=83cf21a691fcbda2d23da2f90a0cc74a&chksm=ebb79e42dcc017547e0ff74d5b5dadd47093bbe6f4ea88df4eef8f1fa53f3f9e84de8a7381ef&mpshare=1&scene=24&srcid=0914xItIxeUi2WeFKSnHnUiD&sharer_sharetime=1600086256417&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=Axr3KraCcLF9CvokUxRUIqo%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 9 | - [【实验笔记】深度学习中的两种不确定性(上)](https://zhuanlan.zhihu.com/p/56986840) 10 | - [深度学习刷 SOTA 有哪些 trick?](https://mp.weixin.qq.com/s/E5NTSHk73W-cqCbWLtZbLQ) 11 | - [涵盖1600+任务的巨型Benchmark来了!跑个测试花一周??](https://mp.weixin.qq.com/s/fg9bylclTe0oiPlk3rQkSA) 12 | 13 | 14 | # NLP综述 15 | - [写了一篇关于 NLP 综述的综述!](https://mp.weixin.qq.com/s/1wFVGErO3kVabnQpoMR3dw) 16 | - [NLP领域,你推荐哪些综述性的文章?](https://www.zhihu.com/question/355125622/answer/1143360427) 17 | 18 | 19 | ## 基础知识 20 | 21 | - [大部分的大模型(LLM)采用左填充(left-padding)的原因](https://zhuanlan.zhihu.com/p/646852375) 22 | 23 | - [LLM padding 细节](https://zhuanlan.zhihu.com/p/675273498) 24 | 25 | ## 迁移学习 26 | - [多核最大均值差异(MK-MMD)与深度适应网络(DAN)](https://blog.csdn.net/qq_42983182/article/details/127430650) 27 | 28 | 29 | # Text2SQL 30 | - [一文了解Text-to-SQL](https://mp.weixin.qq.com/s/ismEI-YpgT_DxCsKKCoudg) 31 | - [百度语义解析 ( Text-to-SQL ) 技术研究及应用](https://mp.weixin.qq.com/s/kTkOKHo-CUhVU9ro57-DMg) 32 | - [Yale Semantic Parsing and Text-to-SQL Challenge](https://yale-lily.github.io/spider) 33 | 34 | 35 | # Key-word抽取 36 | - [关键短语抽取及使用BERT-CRF的技术实践](https://zhuanlan.zhihu.com/p/148502336) 37 | - [keyphrase抽取论文在聊什么?](https://mp.weixin.qq.com/s/FmH4rIe_kRpiQOsR3K4EMA) 38 | - [如何做好文本关键词提取?从三种算法说起](https://www.jiqizhixin.com/articles/2018-11-14-17) 39 | - [NLP之关键词提取](https://blog.csdn.net/qq_38923076/article/details/81630442) 40 | - [关键词提取算法总结、探索、实践](https://zhuanlan.zhihu.com/p/354871225) 41 | - [如何提取关键词?ECIR2022最新《关键词提取》教程,](https://mp.weixin.qq.com/s/9yOpuyZZc9Z9rgyRGJa4IQ) 42 | 43 | 44 | # 异常检测 45 | 46 | - [NLP中如何有效应用异常检测?](https://mp.weixin.qq.com/s?__biz=MzU5MzcwODE3OQ==&mid=2247485640&idx=1&sn=c80531ec5d23018a4b09fdb9d7bdf03e&chksm=fe0d1d34c97a94225f23cfd13c38dfb78df2e7c4503c2dc3b3e5c61bd40e1f1b61ed2763b3fb&mpshare=1&scene=24&srcid=11034CdQP7mFH07da843qb8o&sharer_sharetime=1635951375525&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A5ArF6B%2F3lWcxfMpk4PqPug%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 47 | 48 | 49 | ## 分级算法 50 | - [分级利器 Ordinal Regression](https://mp.weixin.qq.com/s/xhy9SE6lS-kfNWxmp2ftlw) 51 | 52 | 53 | # 知识标注和挖掘 54 | - [解语:如何从零样本做中文文本知识标注与挖掘?](https://zhuanlan.zhihu.com/p/511748431) 55 | 56 | 57 | # 主动学习 58 | - [主动学习(Active Learning)概述及最新研究](https://mp.weixin.qq.com/s/QJBDyXCfFi7fE0uFxNejfw) 59 | - [主动学习(Active Learning)-少标签数据学习](https://zhuanlan.zhihu.com/p/79764678) 60 | 61 | 62 | # 多实例学习 63 | - [Multi-Instance Learning(多示例学习)综述](https://zhuanlan.zhihu.com/p/299819082) 64 | 65 | 66 | # 弱标签 67 | - [弱标签(一):Learning from Semi-Supervised Weak-Label Data 从半监督的弱标签数据中学习](https://blog.csdn.net/weixin_43436958/article/details/105725825) 68 | 69 | 70 | # 对抗学习 71 | - [论文阅读:对抗训练(adversarial training)](https://zhuanlan.zhihu.com/p/104040055) 72 | - [NLP --- >对抗学习:从FGM, PGD到FreeLB](https://blog.csdn.net/chencas/article/details/103551852/) 73 | - [对抗训练的理解,以及FGM、PGD和FreeLB的详细介绍](https://blog.csdn.net/weixin_41712499/article/details/110878322) 74 | 75 | 76 | # 面试 77 | - [大厂必考深度学习面试题及参考答案](https://mp.weixin.qq.com/s/ceMHsPgtt1FI4nbIDiSWuw) 78 | - [很强!社招NLP算法收割机](https://mp.weixin.qq.com/s/gTwWw2OVTk1-ZzS6M0qDOw) 79 | - [NLP/AI面试全记录(持续更新,最全预训练总结)](https://zhuanlan.zhihu.com/p/57153934) 80 | - [一些NLP的面试问题](https://blog.csdn.net/weixin_42137700/article/details/104406354) 81 | - [BAT机器学习面试1000题系列(详细版)](https://blog.csdn.net/weixin_40355324/article/details/80426952) 82 | - [Awesome!算法面试知识点整理](https://mp.weixin.qq.com/s?__biz=MzIxMzkwNjM2NQ==&mid=2247491958&idx=2&sn=8b2c6eb5bdc33879e1172e9dfaf9dcbf&chksm=97ad07a4a0da8eb238d31641bdbe66515f41cd9c87a4fcbd113a54a0087a445322c8e30bd4b6&mpshare=1&scene=24&srcid=0527Ky3q8qMbqB6tKKxsiGjC&sharer_sharetime=1622905854803&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A%2B9BUQQev5mKA2i0obevafE%3D&pass_ticket=ahSCjZBnxTVe3IcKWMxBQVeAXXap9Se8HXejNWF3PIlQHiDsRH5Yr1%2FzLdG%2FTkZA&wx_header=0#rd) 83 | - [校招算法岗知识点总结](https://mp.weixin.qq.com/s/lNvu_0PIKyXhKTN_R1lh3g) 84 | - [【算法岗求职笔记】决策树 · 二十一问二十一答](https://mp.weixin.qq.com/s/sJRKMXi3p72YhNKIuAPi5Q) 85 | - [面试官如何判断面试者的机器学习水平?](https://mp.weixin.qq.com/s/lY4U99uGYmbNb9Oh9Sd-lw) 86 | - 87 | 88 | 89 | ## 其他算法 90 | - [正则表达式的匹配查找原理是什么](https://zhuanlan.zhihu.com/p/397140874) 91 | 92 | -------------------------------------------------------------------------------- /awesome-DL-blog/PEFT.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | ## Peft 6 | 7 | - [梯度视角下的LoRA:简介、分析、猜测及推广](https://zhuanlan.zhihu.com/p/624846321) 8 | 9 | - [有关参数高效微调LoRA的变体](https://zhuanlan.zhihu.com/p/708781902?utm_campaign=shareopn&utm_medium=social&utm_psn=1796339703089328130&utm_source=wechat_session) 10 | - 提及了比较多lora的变体模型 11 | 12 | - [将 MOE 塞到 LoRA: 一篇文章的诞生](https://zhuanlan.zhihu.com/p/704761512?utm_psn=1796332562232246274) 13 | - [大模型微调新范式:当LoRA遇见MoE](https://zhuanlan.zhihu.com/p/683637455) 14 | - [LoReFT:语言模型的表示微调](https://unite.ai/zh-CN/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E7%9A%84-loreft-%E8%A1%A8%E7%A4%BA%E5%BE%AE%E8%B0%83/) -------------------------------------------------------------------------------- /awesome-DL-blog/Prompt-learning.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [百度UIE](https://mp.weixin.qq.com/s/rumCvg9KFbzlwblNwPgF9w) 4 | - 基于prompt的多任务信息抽取统一建模,方法是是使用结构化模型提示器(SSI,Structural Schema Instructor) 5 | 6 | - [清华刘知远团队巨作!Pre-trained Prompt Tuning框架,让超大模型调参变简单](https://mp.weixin.qq.com/s?__biz=MzIxODM4MjA5MA==&mid=2247504370&idx=1&sn=e60ebc2f9fc5275b37a9deeebd50c677&chksm=97e9fb97a09e72813e0948b4b4c40dbd94b8af77977adea57b548536ad412a3540281f4682e0&mpshare=1&scene=1&srcid=1122Qjs3ecC4L5eWfopbmdIf&sharer_sharetime=1637567547347&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A%2BtWrrKsZMbybvndIh5ORIE%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 7 | - [Fine-tune之后的NLP新范式:Prompt越来越火,CMU华人博士后出了篇综述文章](https://zhuanlan.zhihu.com/p/395795968) 8 | - [格局打开,带你解锁 prompt 的花式用法](https://mp.weixin.qq.com/s?__biz=MzIwNzc2NTk0NQ==&mid=2247519306&idx=1&sn=467249e890b2f96994cc46f883844da2&chksm=970fa49ca0782d8a3b201ec13701cff9856f3c01018d36a087270ced3ebc25952a35e80e856e&mpshare=1&scene=1&srcid=1122uSw0YqDDkjNBTrYwQs5C&sharer_sharetime=1637567513889&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A8WdBjhyi7CJrwIkvFEJfaQ%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 9 | - prompt的应用案例分析,在文本分类,抽取等任务有很好的效果 10 | - [【综述专栏】NLP的“第四范式”之prompt learning总结](https://mp.weixin.qq.com/s?__biz=MzIzNjc0MTMwMA==&mid=2247560046&idx=1&sn=79912512a38a37ceb2ca0520472c0995&chksm=e8d09cb5dfa715a38d7363027d0fafc73945783aa0af1215ecedc2e9f40b4178a53e0f2a5000&mpshare=1&scene=1&srcid=11222uCWi6zjAYbJxmIkHC5g&sharer_sharetime=1637567560697&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A0hsKYIL2ZLkIgWEEK4onKY%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 11 | - [全网首个OpenPrompt尝鲜报告:Prompt研究者必备实验利器](https://mp.weixin.qq.com/s?__biz=MzUxODI3MTcwNQ==&mid=2247523561&idx=2&sn=cffc61fc9e6cbfe6e444a8a137bbf3f8&chksm=f989bb5fcefe32496f8e9da46c3ebfde84854408b56f2eb6c30fa71abfe123ac2740049a670a&mpshare=1&scene=24&srcid=11122sgvjYcFw7zlnNuqYKkG&sharer_sharetime=1636684231768&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=AyrTFeMyyrCn98WgWV4hZfw%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 12 | - [Hugging Face牵头,42位作者发文,1939个prompt,大幅提升Zero-Shot性能!](https://mp.weixin.qq.com/s?__biz=MzA5ODEzMjIyMA==&mid=2247658824&idx=4&sn=5c21d01fa14be066bb36d5c2e90dc2c1&chksm=909a64dba7ededcd2d405b248f368af1a644fe213928b3c14b12214825b7aab5259053e44ccb&mpshare=1&scene=24&srcid=11174LNNEconCxOn39qbN8HE&sharer_sharetime=1637156715232&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A8ebq2nuDqlzsnNZsAFZcsk%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 13 | - [Prompt learning系列之开放领域问答](https://mp.weixin.qq.com/s/7vzV5aEINGaBvYIhzUIqAw) -------------------------------------------------------------------------------- /awesome-DL-blog/README.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # awesome-DL-bolg 7 | 8 | 整理一些自己看过的深度学习领域的Blog,公众号文章,知乎文章等 9 | -------------------------------------------------------------------------------- /awesome-DL-blog/RL.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 概念、基础 7 | 8 | - [基于模型(Model Based)和model free的强化学习](https://itpcb.com/a/162657) 9 | - [强化学习基础](http://itpcb.com/docs/MachineLearningNotes/17%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0.html) 10 | - model-based: 直接对环境进行建模,在状态空间和动作空间已知的情况下,对状态转移 11 | 概率和奖励进行建模,一般可以使用监督学习的方式,如何给定状态,动作所对应的新的状态, 12 | 和奖励,使用有监督学习中的分类和回归进行建模。 13 | 模型已知之后,就可以根据计算值函数或者 14 | 策略函数来对任意策略进行评估。当模型已知时,策略的评估问题转化为一种动态规划问题。 15 | - model-free: 由于模型参数未知,状态值函数不能像之前那样进行全概率展开,从而 16 | 运用动态规划法求解。一种直接的方法便是通过采样来对策略进行评估/估算其值函数 17 | 18 | - [On-policy与off-policy](https://zhuanlan.zhihu.com/p/346433931) 19 | - on policy:行为策略和目标策略相同 20 | - off policy:把数据收集当作一个单独的任务,行为策略和目标策略是不同的。 21 | 比如在Q-learning的网络更新公式中,(S, A, R, S', A'), A使用探索贪心策略,而 22 | A’则使用贪心策略。SARSA中,A和A‘都是使用探索贪心策略 -------------------------------------------------------------------------------- /awesome-DL-blog/Recommendation-system.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # 推荐系统 6 | 7 | - [搜索推荐的position bias](https://zhuanlan.zhihu.com/p/440724467) 8 | - [基于评论文本的深度推荐系统总结](https://mp.weixin.qq.com/s/LKsp59KxlNyavkWRS1TmAQ) 9 | - [揭秘为什么大公司搜索推荐都用CTR/CVR Cotrain的框架](https://cloud.tencent.com/developer/article/1824175?ivk_sa=1024320u) 10 | - [线上线下效果一致性杂谈](https://zhuanlan.zhihu.com/p/346160286) 11 | - [推荐场景中,线上线下指标不一致是为啥](https://zhuanlan.zhihu.com/p/336959267) 12 | - [如何解决离线和线上auc和线上点击率不一致的问题?](https://www.zhihu.com/question/305823078/answer/2347236454) -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Coreference-resulation.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## 汇总 8 | - [一文详解自然语言处理任务之共指消解](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247490008&idx=1&sn=ef679bd95788c8a46c0a3cc2ad314330&chksm=eb500d4bdc27845dbc122533a0ae4ea3475f4d350dc1ab49efbb13938cae00a10052f16c2ec8&mpshare=1&scene=1&srcid=11245KayKJzZ89wdRmQVr7hF&sharer_sharetime=1637748146177&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A9mcDkL4Vq6vob%2FV%2Ft6c4I0%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 9 | - 介绍共指消解任务;mention出去,聚成各个簇,每个簇中的mention代表相同的指代 10 | - 一种建模方法:token embedding, 根据embedding生成n(n-1)/2个mention embedding,方法可以是avg embedding,头尾embedding concat上avg embedding 11 | 或者使用自注意力,对没对mention pair,判断是否是candidate mention,以及是否是相同指代,三个分数最后相加 12 | 推理时,可以先识别出所有的mention,再分类,来减少冗余计算 13 | - 另外一种建模方法:sequence to sequence -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Document-understanding.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 综述 7 | 8 | - [万字综述 直击多模态文档理解](https://mp.weixin.qq.com/s/LamcuaGZlsmgmrWGagvgww) 9 | - [CVPR 2022文档图像分析与识别相关论文26篇汇集简介](https://mp.weixin.qq.com/s/rHQ7x1EyKGY0OhZPJWyGwA) 10 | 11 | 12 | ## 文档信息抽取 13 | 14 | - [基于VI-LayoutXLM的发票关键信息抽取](https://bbs.huaweicloud.com/blogs/383854) 15 | - VI-layoutXLM输入时对文本片段的行检测 16 | - 同时训练两个相同的模型,对transformer中间层的输出结果计算L2 loss 17 | - [多模态预训练模型指北](https://mp.weixin.qq.com/s/x36gft6F6wjeQtnizqgHTA) 18 | - layoutlm-v2和layoutlm-v3模型对比讲解 19 | - [[ACL2022] FormNet:表单文档信息抽取中超越序列建模的结构编码方法](https://mp.weixin.qq.com/s/TlA9Juj7k-Fd2wMfVck1sw) 20 | - 在transformer之前引入GCN 21 | - [微软文档智能](https://www.microsoft.com/en-us/research/project/document-ai/) 22 | - [文档智能:通用文档预训练模型与数据集,推动NLP落地升级](https://zhuanlan.zhihu.com/p/190188334) 23 | - [ERNIE-Layout登顶DocVQA文档智能权威榜单](https://baijiahao.baidu.com/s?id=1711853430432967285&wfr=spider&for=pc) 24 | - [智能文档新成员:动态文档智能模型MarkupLM](https://zhuanlan.zhihu.com/p/438072814) 25 | - 针对标记语言的信息抽取 26 | 27 | ## 阅读顺序 28 | - [LayoutReader:基于ReadingBank的阅读序列抽取模型](https://zhuanlan.zhihu.com/p/429471372) 29 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Event-extraction.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [AAAI2022 | 针对事件论元抽取学会高效地提问](https://mp.weixin.qq.com/s/Nzf8sInVfnx10w0aviBsyQ) 4 | 5 | - [百度aistudio事件抽取比赛总结——记一次使用MRC方式做事件抽取任务的尝试](https://zhuanlan.zhihu.com/p/141237763?utm_source=wechat_session&utm_medium=social&s_s_i=f8Chs7YRPybj4tQf5piR56fLkjd7CWuzuPLs98xlZss%3D&s_r=1) 6 | 7 | - [【SCIR笔记】文档级事件抽取简述](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247491912&idx=2&sn=c13cc456b9dd46809feed60af357700b&chksm=eb53f5dbdc247ccd801b5b25b2c4f50918d77c1a3dd20c96fc3ea7ba63d9cfffdf765f2862a6&mpshare=1&scene=24&srcid=0730bByCBtbgMXeA9wJ19eGI&sharer_sharetime=1596111782162&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A9ftfRrEeHHxzB9Z0yOhi1E%3D&pass_ticket=%2Fiuk0Yfg7CrYxacY%2F347pmZcCE1UxpnHXEwngLMc%2BDJTSlAVtev8q4cY8e9W%2Bxmv&wx_header=0#rd) 8 | 9 | - [数据稀疏、结构复杂,事件抽取面临的挑战该如何应对?](https://mp.weixin.qq.com/s?__biz=MzI0ODQ0MzM0Nw==&mid=2247483940&idx=1&sn=2e5cf07c481ec886dc16e31832172362&chksm=e9a1fa98ded6738ea87b8acdbac3fb5df5fbc497f13fe32a4795304ac0cad9f1a6eb35442507&mpshare=1&scene=24&srcid=0731fRtHiKyc3JAVVmmrLBO3&sharer_sharetime=1596189811668&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A7MZOhlUgDa%2FxVWlt01cCrw%3D&pass_ticket=IL%2BeHRprAt5yAlLjjC250jaLkeHDOYyDyV4vRbYX%2F0r7c3KJ%2FwPqrBhOiTesV9Z9&wx_header=0#rd) 10 | 11 | - [【SCIR Lab】事件表示学习简述](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247491353&idx=2&sn=4610f5155d8a5bcffa785dc0d2ab8660&chksm=eb500b8adc27829c6e914569bdcbed3a32a90259a94a4991f250a9ffca7e52d13aa3b55fadee&mpshare=1&scene=24&srcid=0731hHflCqz0WjIKKbKcafEe&sharer_sharetime=1596191259202&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=AwwOvFIkb%2FMMTMByFV92RFU%3D&pass_ticket=IL%2BeHRprAt5yAlLjjC250jaLkeHDOYyDyV4vRbYX%2F0r7c3KJ%2FwPqrBhOiTesV9Z9&wx_header=0#rd) 12 | 13 | - [ACL2021事件抽取及事件相关论文整理](https://zhuanlan.zhihu.com/p/383250177) 14 | 15 | - [事件抽取技术方案简介](https://zhuanlan.zhihu.com/p/32488490) 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Few-shot-learning.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | - [few-shot learning/one-shot learning 小样本/零样本学习 学习笔记](https://zhuanlan.zhihu.com/p/491874355) 7 | - few shot详解 8 | - [ICLR2021 Oral |利用一个样本估计类别数据分布 9行代码提高少样本学习泛化能力](https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247522643&idx=3&sn=60cd51528782a6126ca0113fd9c3cab9&chksm=ebb7a187dcc0289130ae0414d84764193b3aebdc6a8e049c9a9c70869de87824c547286940ea&mpshare=1&scene=24&srcid=01166T1Y6rSZMCSex6proUEv&sharer_sharetime=1610754651528&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A4rWklIYxqPLyP3diHY%2Fyh0%3D&pass_ticket=FVXzVd6yWxG%2B0cVb1fBXuMn3sRqbaPHr1VXt2A%2BQ1R%2FpI%2Fpfv01eV0arVDwW0wda&wx_header=0#rd) 9 | - [小样本学习只是一场学术界自嗨吗](https://mp.weixin.qq.com/s/hRoFMGtNg6OX_Ik5OpUXAQ) 10 | 11 | 12 | ## 综述性 13 | 14 | - [清华大学张长水最新综述:少样本学习](https://zhuanlan.zhihu.com/p/272705459) 15 | - [论文笔记-少样本学习综述:小样本学习研究综述(中科院计算所)](https://zhuanlan.zhihu.com/p/389781532#:~:text=%E6%9C%AC%E6%96%87%E5%B0%86%E5%B0%8F%E6%A0%B7%E6%9C%AC%E5%AD%A6%E4%B9%A0,%E6%8D%AE%E5%A2%9E%E5%BC%BA%E3%80%81%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0) 16 | - [Few-Shot Learning (FSL): 小样本学习简介及其应用](https://blog.csdn.net/qq_26815239/article/details/114372563) 17 | - [小样本学习(Few-shot Learning)综述](https://zhuanlan.zhihu.com/p/61215293) 18 | - 总结model-based,metric-based,optimization-based等相关方法 19 | - model-based:使用external memory 20 | - metric based:siamese network,match network,relation network 21 | - [最新《小样本自然语言处理的元学习》综述论文](https://mp.weixin.qq.com/s?__biz=MzU2OTA0NzE2NA==&mid=2247532727&idx=5&sn=cc0de7e47dc9216d7f29bb81c46fdca3&chksm=fc86a1a4cbf128b2db3c3d2c164620de29f103714595e48f2482415726a42038b6f19d35ac0b&mpshare=1&scene=24&srcid=07315jMbaBLUv500aiiGK2K2&sharer_sharetime=1596189618583&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A9Ar%2B%2BYLhXEtDDtsMZwbR8E%3D&pass_ticket=IL%2BeHRprAt5yAlLjjC250jaLkeHDOYyDyV4vRbYX%2F0r7c3KJ%2FwPqrBhOiTesV9Z9&wx_header=0#rd) 22 | - [Few-shot Learning最新进展调研](https://zhuanlan.zhihu.com/p/161233926) -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/MRC.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 汇总 7 | - [赛尔笔记 | 机器阅读理解简述](https://mp.weixin.qq.com/s/Rm1uFunX9IRQaL_rUAZxfQ) 8 | - [阅读理解先导篇](https://mp.weixin.qq.com/s?__biz=MzAxMDk0OTI3Ng==&mid=2247485079&idx=1&sn=dea19dcbdcd097c21df0214fccbe809e&chksm=9b49c164ac3e487208da695be1c3a28e31a57be299d42bab5c7a143e6298363710d0cc485f0d&mpshare=1&scene=24&srcid=0811BdYnlIuUKIcF95NzQDVJ&sharer_sharetime=1597119277963&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A9cTopYqm3%2FPey70Enf3bhQ%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 9 | - [2021年机器阅读理解方向还有哪些值得深入的研究点](https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247535548&idx=4&sn=1be83ad913a89d2564ffec2fc320c729&chksm=ebb77368dcc0fa7edbf0e261842fa6918a1d8692776f9215e72d87cfa83c441aed9b80627225&mpshare=1&scene=24&srcid=0527wBnu2WfF2QL5pkzcGhaU&sharer_sharetime=1622126246563&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A519tmbDplE43HhW6xDqcfU%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 10 | - [NLP机器阅读理解:四大任务及相应数据集、比赛](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650426020&idx=2&sn=f8a879c72430e6e4c36d2ac7b9d23006&chksm=becdccfe89ba45e892af21818f54f61300749f89895c3259f5becfcb8cbec85ee47611fdaccc&mpshare=1&scene=24&srcid=09274N1cgOhVnpn2ZJGXE6Ck&sharer_sharetime=1632705938691&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A5IQJOIySdM%2BtAY%2BN2v9OdQ%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 11 | - [百度 2021 Lic 机器阅读理解比赛有感](https://mp.weixin.qq.com/s?__biz=MzIxMzkwNjM2NQ==&mid=2247509455&idx=1&sn=343cacb621cbd58b642d791878cb43a4&chksm=97ad431da0daca0b05eca5b56f73d3f6b752b650ca7f95c7166c8e19fd023a357d88a16f0959&mpshare=1&scene=24&srcid=1115ceNXP4ha491NFtpon29C&sharer_sharetime=1636974772476&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A8aUhDgysfw%2FfAftlJN0%2Fd8%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 12 | - [基于CNN的阅读理解式问答模型:DGCNN](https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw%3D%3D&chksm=96e9cc60a19e457618b2ffdea2a7e13ba172ea3fdfbfda07de53aae57126047f1b71a6969d76&idx=1&lang=zh_CN&mid=2247488480&scene=21&sn=7bb9a4dd60680df5013670287a9e0cc2&token=1453146002#wechat_redirect) 13 | - [搜狗开源业内最全「阅读理解工具集合」,助力研发人员快速构建高效模型](https://www.toutiao.com/article/6696345435654586891/) 14 | - [陈丹琦博士论文翻译:Neural Reading Comprehension and Beyond](https://www.toutiao.com/article/6719710789806064142/) 15 | - [ACL论文+代码+Live数据竞赛 | 清华CoAI实验室中文成语填空研究](https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247499381&idx=2&sn=6fa36d2d27d3aa2f5c05279004a964d8&chksm=96ea21f5a19da8e3884c350202ff66ab81e910e5ab38ffc26615aaf9b505bd7a2ee9ae27a7ec&scene=0&xtrack=1&pass_ticket=5l2GTJoNs3UnPjzRsDzXqTZBP6%2Btylp4BwIFxk3aFUwONC5l8MJz3gdjYHCbXS%2FH#rd) 16 | - [北京大学、百度:基于跨文档答案验证的多文档阅读理解](https://cloud.tencent.com/developer/news/237572) 17 | - -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/NER.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## NER 7 | ### 2022 8 | - [【NLP】命名实体识别——IDCNN-CRF论文阅读与总结](https://blog.csdn.net/meiqi0538/article/details/124641801) 9 | ### 2021 10 | - [ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架](https://mp.weixin.qq.com/s/2AePxoar9j4MLQLxMzSf_g) 11 | - 基于BAET模型,使用指针网络,对于不连续实体,需要添加标签 《dis》 12 | - 推理:将decoder的hidden_state与encoder的每个位置的hidden_state点积,与标签的embedding点积,然后计算softmax 13 | - [工业界求解NER问题的12条黄金法则](https://blog.csdn.net/xixiaoyaoww/article/details/107096739) 14 | - [融合知识的中文医疗实体识别模型](http://www.scicat.cn/yy/20211208/108868.html) 15 | - 通过构建好的实体库来对文本进行预打标,将预标注结果作为bert模型的输入 16 | - [中文NER | 江南大学提出NFLAT:FLAT的一种改进方案](https://mp.weixin.qq.com/s/-bpr3ySRaPZqRdJgI21A6w) 17 | - [统一NER模型SOTA—W2NER学习笔记](https://mp.weixin.qq.com/s/9A5HXuvVYjHjYb8cn1CYpg) 18 | - [妙啊!MarkBERT](https://mp.weixin.qq.com/s/GDnpvesnX79OS5mhpkd9LA) 19 | - [PERT:一种基于乱序语言模型的预训练模型](https://mp.weixin.qq.com/s/gx6N5QBZozxdZqSOjMKOKA) 20 | - [文本生成序列之前缀语言模型](https://mp.weixin.qq.com/s/WGRRVKiPGR8lZsOkM5Z4Tw) 21 | - [文本生成系列之transformer结构扩展(二)](https://mp.weixin.qq.com/s/brifykEle1Rd7v5F0YxdSg) 22 | - [知识融入语言模型——ERNIE与ERNIE](https://mp.weixin.qq.com/s/trAwVkbwKqUmC5sUbC_S0w) 23 | - [不拆分单词也可以做NLP,哈工大最新模型在多项任务中打败BERT,还能直接训练中文](https://mp.weixin.qq.com/s/UBoMRmymwnw9Ds3S3OW6Mw) 24 | - [BiLSTM上的CRF,用命名实体识别任务来解释CRF](https://mp.weixin.qq.com/s/2Eq1tSt0Wqxh8MULR27qYA) 25 | 26 | 27 | ## 少样本NER 28 | ### 2023 29 | - [COLING 2022 | PCBERT: 用于中文小样本NER任务的BERT模型](https://www.aminer.org/research_report/63db41c37cb68b460f84d4fd) 30 | 31 | ### 2022 32 | - [中文小样本NER模型方法总结和实战](https://cloud.tencent.com/developer/article/2083673) 33 | - [低资源和跨语言NER任务的新进展:词级别数据增强技术](https://mp.weixin.qq.com/s/9vYd9O7BRd_k_56AF5xT0g) 34 | - [COLING 2022 | 少样本NER:分散分布原型增强的实体级原型网络](https://mp.weixin.qq.com/s/vdNKuZRg2Umst0TSn3p2Qw) 35 | - [ACL 2022 | 基于自描述网络的小样本命名实体识别](https://mp.weixin.qq.com/s/WUjK6qM7qkLs66aMoLYaIA) 36 | - [ACL2022 | 序列标注的小样本NER:融合标签语义的双塔BERT模型](https://mp.weixin.qq.com/s/56OH4d7WDYjuLxWh4kW-1w) 37 | 38 | ### 2021 39 | - [Template-Based Named Entity Recognition Using BART [笔记]](https://zhuanlan.zhihu.com/p/462088365) 40 | - [论文解读:Example-Based Named Entity Recognition](https://blog.csdn.net/qq_36426650/article/details/125504613) 41 | - [微软、UIUC韩家炜组联合出品:少样本NER最新综述](https://mp.weixin.qq.com/s/tiMoFMVdQketm11rdXjiSQ) 42 | 43 | 44 | ## 地址解析 45 | ### 2021 46 | - [天池中文NLP地址要素解析大赛Top方案总结](https://mp.weixin.qq.com/s/bjbcT0Yt-Q-4KjQSg-3mFQ) 47 | - [BERT+Biaffine结构中文NLP地址要素解析](https://mp.weixin.qq.com/s/o5BZ8-l-rjyJmF0V_G1cNg) 48 | 49 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/NLI.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - [【BiMPM】论文阅读笔记:文本蕴含之BiMPM](https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247492501&idx=2&sn=5266f457f51d5afc511834dc708f107b&chksm=ebb7db41dcc0525770247119bc7c5c7498ea32ee56d836b18900aef2ff497ad81bb88eef95aa&scene=0&xtrack=1&exportkey=Ax6cjPER8XafNhbh3TG3NPk%3D&pass_ticket=peaJqRABUyiyXUkxShtHPoJ7onMoJTA4OFYeMuNaXmdNKq47G0x8XJEm7afGdVcX#rd) 4 | 5 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/NLP-basic-task.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # 分词 6 | 7 | - [【NLP】N-LTP:基于预训练模型的中文自然语言处理平台](https://mp.weixin.qq.com/s?__biz=MzIwODI2NDkxNQ==&mid=2247495412&idx=2&sn=c6dfe90e702e18a86acd6ea64aec6931&chksm=97076548a070ec5e2a674f7d30634443d39788f81e8d48ed9fde7af79995e918da9e8fdcb0b6&mpshare=1&scene=1&srcid=0729FUPH7t4oyOmsOMDAGren&sharer_sharetime=1627544054304&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A%2FUHgQdNqoZmuu9OgBXo03Y%3D&pass_ticket=3SRJ9AG0W3WIPgowkq1KaNo%2Fj2unD8WE2S7tLNhwh80shO5fHH%2BNT4K4kYBzHoAI&wx_header=0#rd) 8 | - [中文分词性能对比](https://zhuanlan.zhihu.com/p/53875223) 9 | - [有哪些比较好的中文分词方案?](https://www.zhihu.com/question/19578687/answer/828011367) 10 | 11 | 12 | # 语义角色分析 13 | 14 | - [CoNLL-2009 Shared Task:Syntactic and Semantic Dependencies in Multiple Languages](https://ufal.mff.cuni.cz/conll2009-st/) 15 | - [论文浅尝 | SMBOP: Semi-autoregressive Bottom-up Semantic Parsing](https://mp.weixin.qq.com/s?__biz=MzU2NjAxNDYwMg==&mid=2247495174&idx=1&sn=f37d77de3a6be86d9e1aba1e4943a9f5&chksm=fcb049e3cbc7c0f5aa44471b2ed6356f422e5fc43ce4ffdad115206e20b6d8c18ef5fa357c41&mpshare=1&scene=24&srcid=1125ArHDNIT0k2pcHiffkpgL&sharer_sharetime=1637815302604&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A3Wk2ziOBPo0LJMVUUSYtwQ%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 16 | - [CoNLL-U Format](https://universaldependencies.org/docs/format.html) 17 | - [Universal Dependencies](https://universaldependencies.org/) 18 | - [依存句法分析(通用-CTB标签)](https://help.aliyun.com/document_detail/179146.html) 19 | - [Deep Biaffine Attention for Dependency Parsing](https://zhuanlan.zhihu.com/p/71553871) 20 | - [百度中文依存句法分析工具DDParser重磅开源](https://mp.weixin.qq.com/s?__biz=MzUxNzk5MTU3OQ==&mid=2247487938&idx=1&sn=2d025c573358c1665f983cea4b3e02b9&chksm=f98eec36cef965205148c47db24896d58bf5c3c660726a4cb8a36cd555aa2580f2f44ccb472c&mpshare=1&scene=24&srcid=0806jlLR4fgrtjThTIRZoFq0&sharer_sharetime=1596715414548&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A1OrUp6%2FpwKPTpkBOqyoKgc%3D&pass_ticket=LlL6Ad5uohnLAlqJrzan%2BA5dDM3m9%2Bnl4L%2FaTWpnfTNnifRhbExGygOrgXBzVB7b&wx_header=0#rd) 21 | - [句法分析 (syntactic parsing) 在 NLP 领域的应用是怎样的?](https://www.zhihu.com/question/39034550?sort=created) 22 | - 23 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/RE.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | # 关系抽取 7 | 8 | - [绝了!关系抽取新SOTA](https://mp.weixin.qq.com/s/02JaIPIc3VJh0tIooZx4iQ) 9 | - [Two are Better than One: Joint Entity and Relation Extraction with Table-Sequence Encoders](https://blog.csdn.net/qq_44166805/article/details/120003606) 10 | - [基于关系图的实体关系联合抽取](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247491439&idx=2&sn=3d0c54f68f33067ee6d81da3ffb92cf4&chksm=eb500bfcdc2782eaca83da8bf65eaed7de19a12bae4d7c6bef631666f2532e314edfaa3c8df8&mpshare=1&scene=24&srcid=073120vHpVYa7QqTDluwEj48&sharer_sharetime=1596189919194&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A1HF0o2K06S%2BaIUaV%2BYaa%2FA%3D&pass_ticket=IL%2BeHRprAt5yAlLjjC250jaLkeHDOYyDyV4vRbYX%2F0r7c3KJ%2FwPqrBhOiTesV9Z9&wx_header=0#rd) 11 | - [用Bi-GRU+Attention和字向量做端到端的中文关系抽取](https://mp.weixin.qq.com/s?__biz=MzA4MTk3ODI2OA==&mid=2650344186&idx=1&sn=ecbfde67368aab6e31cc54e90e915bd5&chksm=87811c09b0f6951f119821276d6a70547c35ddb74b8185307838bdc6e5ba0ec5773a27e96bc0&scene=0&xtrack=1&pass_ticket=5l2GTJoNs3UnPjzRsDzXqTZBP6%2Btylp4BwIFxk3aFUwONC5l8MJz3gdjYHCbXS%2FH#rd) 12 | - [信息抽取:SPO三元组知识](https://mp.weixin.qq.com/s?__biz=MzA4MTk3ODI2OA==&mid=2650344413&idx=1&sn=83507a95df79d1dfa53f713335a98fb2&chksm=87811d2eb0f69438e91664d5d0ddd0af9a139f019bd91df14120ca07e522b3bf76f0d1205520&scene=0&xtrack=1&pass_ticket=5l2GTJoNs3UnPjzRsDzXqTZBP6%2Btylp4BwIFxk3aFUwONC5l8MJz3gdjYHCbXS%2FH#rd) 13 | - [【关系抽取】详聊如何用BERT实现关系抽取](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247488385&idx=4&sn=a40c5325a5f172538c331890b02d3311&chksm=eb500712dc278e044568a0948f81a3f037bdcfdc6bee6dd6fe011f555da8005fc9c050be899f&scene=0&xtrack=1&exportkey=A1pxXM73qu0iN6ndfzzgkCE%3D&pass_ticket=peaJqRABUyiyXUkxShtHPoJ7onMoJTA4OFYeMuNaXmdNKq47G0x8XJEm7afGdVcX#rd) 14 | - [多重关系抽取(Multiple-Relations)的一些最新顶会论文(海量论文,干货满满)](https://blog.csdn.net/qq_38556984/article/details/108919866) 15 | 16 | 17 | # 综述 18 | - [nlp中的实体关系抽取方法总结](https://zhuanlan.zhihu.com/p/77868938) 19 | 20 | 21 | # 知识图谱构建 22 | - [ACL 2019|AI2等提出自动知识图谱构建模型COMET,接近人类表现](https://baijiahao.baidu.com/s?id=1638379023530540255&wfr=spider&for=pc) 23 | 24 | 25 | # 少样本 26 | - [少样本关系抽取技术](https://zhuanlan.zhihu.com/p/159438322) 27 | 28 | 29 | # 比赛 30 | - [基于DGCNN和概率图的轻量级信息抽取模型](https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw%3D%3D&chksm=96ea2765a19dae73aba525fe86f83bb8c107c063935fe13decabd899ef6231345c0d7215b4bf&idx=1&mid=2247497957&scene=21&sn=cddcc805514a71a5d5e4cd95139900f5#wechat_redirect) 31 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Search-system.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## 行业搜索 8 | - [领域知识增强的预训练语言模型在药电商搜索领域的实践](https://mp.weixin.qq.com/s/or9DT2HlVPnUFBsqAEv6Uw) 9 | - [阿里达摩院:基于预训练语言模型的行业搜索的应用和研究](https://mp.weixin.qq.com/s/P-7w5x_ymTwaV9pszgq0Vw) 10 | - [电商搜索的语义理解问题](https://mp.weixin.qq.com/s?__biz=MzkxMjM2MDIyNQ==&mid=2247504311&idx=1&sn=374c17fac91750ee7f475eae51f6ed0a&source=41#wechat_redirect) 11 | 12 | 13 | ## term权重计算 14 | - [医疗搜索中的query词权重算法探索](https://mp.weixin.qq.com/s/WD4vcoA9Xp5tTSw7U6T4Pw) 15 | - [query term weight计算](https://blog.csdn.net/madman188/article/details/51855265) 16 | - [搜索中词权重计算及实践 ](https://www.cnblogs.com/sxron/p/9992538.html) 17 | - [美团点评旅游搜索召回策略的演进](https://tech.meituan.com/2017/06/16/travel-search-strategy.html) 18 | - [教你如何动态配置词权重,检索系列文章之DeepCT论文笔记](https://zhuanlan.zhihu.com/p/147935851) 19 | 20 | 21 | ## dense retrieval 22 | - [稠密检索之训练篇](https://mp.weixin.qq.com/s/UcUHqB8ia3iNO5MAE5uWvQ) -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Sentiment-analysis.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | # 情感分析 8 | 9 | - [基于情感词典的情感分析](https://blog.csdn.net/lom9357bye/article/details/79058946) 10 | 11 | 12 | 13 | # ABSA 14 | 15 | ## 综述 16 | - [香港中文大学最新《基于Aspect的情感分析》综述论文,涵盖近200篇文献阐述ABSA方法体系](https://mp.weixin.qq.com/s/uKxr4NguT2MmvTArsAIMig) 17 | - 18 | 19 | ## extraction ABSA 20 | 21 | - [如何在基于Aspect的情感分析中结合BERT和语法信息](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247493810&idx=1&sn=7739e319e64f7895d9161d6e23ae1f6d&chksm=eb53fc21dc24753706a1d2bfd0b315c53061026cdf4155981a5daa7d177fe6aed60ab450e916&mpshare=1&scene=24&srcid=090698uCVENW4IpifG81cBmE&sharer_sharetime=1599397136536&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A9IntLWPEXsq0HNjyUksYz8%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 22 | - AE:使用roberta模型,并结合了词法信息和句法信息。句法信息:一个token相关的所有关系 23 | - SC:探索如何更好结合sentence和aspect。不同与CDM、CDW,paper使用两个单词在句法树中的距离。 24 | 25 | - [复旦邱锡鹏Lab提出:一个统一的面向基于Aspect的所有情感分析子任务的生成式方法](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650427046&idx=4&sn=c135ad5a45b76dae3a6b8403eaabc4c5&chksm=becdc8fc89ba41ea5d75e54a5b1afd2ecf41215cbbaff66cc1cea476d7ecaae497b447f69803&mpshare=1&scene=24&srcid=1106Y9QVHi1qw1ohlb9AtISQ&sharer_sharetime=1636211308160&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=AwkeNCr7h8XmptVhT326XcE%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 26 | - A Unified Generative Framework for Aspect-Based Sentiment Analysis 27 | - 基于BART模型,encoder输出 = embedding + last layer output 28 | - decoder:使用pointer network,输出index是encoder pos和三个情感极性类别 29 | 30 | - [EMNLP21' | 细粒度情感分析新突破 —— 通过有监督对比学习方法学习隐式情感](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247507097&idx=2&sn=144605d4e3964fe915889f099553e2cc&chksm=eb53c80adc24411cb862ac6a933708d0788b6fdeea043cccad7c2842b7560ad064c630154a73&mpshare=1&scene=24&srcid=1119kqzAxB0adw5BcfqOMAbS&sharer_sharetime=1637316336524&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A5MevBiwgD2ot8vt4yljuLk%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 31 | - 文章提出,隐形情感在开源数据集中大量存在,需要模型学习相应尝试知识,考虑预训练 32 | - 构建大规模多方面情感分析数据集进行预训练:有监督对比学习,评论重建DAE,方面词预测 33 | - 微调:将句子级表示(CLS)和方面词(经过average pooling)拼接之后进行极性分类, 34 | 较传统的每个方面词和评论分别拼接判断,提高了效率 35 | 36 | - [细粒度情感分析在保险行业的应用](https://zhuanlan.zhihu.com/p/151216832) 37 | - bert pair模型进行ABSA建模,将aspect转成如'XXX性价比怎么样' 38 | - backbone使用KBERT,基于知识图谱的bert 39 | 40 | - [论文浅尝 - ICLR2020 | 知道什么、如何以及为什么:基于方面的情感分析的近乎完整的解决方案](https://mp.weixin.qq.com/s?__biz=MzU2NjAxNDYwMg==&mid=2247488959&idx=1&sn=1a3261c701b0a709e00e2d90f7a7b06b&chksm=fcb3b25acbc43b4c9486b6846d4aed0004652067f9b54fc658ba365e9a01f1f265d1089ddc54&mpshare=1&scene=24&srcid=0802FCQbNy4o3a6pXrSrXsYp&sharer_sharetime=1596383621820&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=Ay5eCQzijmA3%2F1F28TyxT8M%3D&pass_ticket=%2Fiuk0Yfg7CrYxacY%2F347pmZcCE1UxpnHXEwngLMc%2BDJTSlAVtev8q4cY8e9W%2Bxmv&wx_header=0#rd) 41 | - 两阶段:先抽取提及的所有实体,情感提及词和观点词语 42 | - 将实体和提及词两两匹配进行分类 43 | - 44 | 45 | ## category ABSA 46 | 47 | - [【论文阅读】Joint Aspect and Polarity Classification for Aspect-based Sentiment Analysis with End-to-End](https://blog.csdn.net/BeforeEasy/article/details/104184051) 48 | - 使用cnn进行建模,对一个样本,模型输出维度:类别数*4,pos/neg/neu/none,none表示无该类别 49 | 50 | ## Emotion cause extraction 51 | 52 | - [【论文解读】情感-原因关系挖掘 —— ACL2019杰出论文](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247488466&idx=2&sn=7a767374bbb46183053416ee1d25c53d&chksm=eb500741dc278e577595004da2eacead580de53ad789ad1774e06c67c601b5dbe672bf0c917d&scene=0&xtrack=1&exportkey=A9xbtRbhCjX%2FJZ7OWRFrWOM%3D&pass_ticket=H0sgsFf0Diewumyma%2FRYfqkoyYzoismRNGo4T2CNs2J00r2R%2FjAgF5ufzYIdfDws&wx_header=0#rd) 53 | - 任务内容:提取文档中所有的情感-原因句对 54 | - step1:使用independent多任务学习方式:使用多层级的LSTM网络,先对句子encoding,然后在对句子序列encoding。使用interactive多任务学习方式, 55 | 两种方法,一种是将情感句子embedding和情感句子识别结果融合,作为原因LSTM网络的输入 56 | - step2:对所有的情感-原因句对进行分类 57 | 58 | - [给定情感极性,输出支撑情感的原因-Kaggle Tweet Sentiment Extraction 第七名复盘](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650415097&idx=2&sn=a95233663bae8056458f7c549a51b7e6&chksm=becd99a389ba10b58126bc82770ad8b766a5539dca2524222af8350fd81311abdd89d6885827&mpshare=1&scene=24&srcid=0724iXVGG20WJx5ZYdxHZH6i&sharer_sharetime=1595603342254&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A1XEOJ0Qtp9%2B0Nb8V1Syd5o%3D&pass_ticket=H0sgsFf0Diewumyma%2FRYfqkoyYzoismRNGo4T2CNs2J00r2R%2FjAgF5ufzYIdfDws&wx_header=0#rd) 59 | - 建模为机器阅读理解任务 -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Table-understanding.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | 7 | ## 表格预训练 8 | ### 2021 9 | - [Google Research新成果,让表格理解和检索更上一层楼!](https://zhuanlan.zhihu.com/p/414953224) 10 | - [达摩院开源中文社区首个表格预训练模型,取得多个基准SOTA](https://mp.weixin.qq.com/s/DxOVCvo-TQ2Cm77ng_ZULQ) 11 | - [【KDD2021】TUTA: 通用表格预训练的树结构Transformer](https://mp.weixin.qq.com/s/sCIxfJOLQEzQSU4vxKr31g) -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Text-classification.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 文本分类 7 | 8 | - [基于Prompt Learning、检索思路实现文本分类,开源数据增强、可信增强技术](https://mp.weixin.qq.com/s/tas7yM8vapxwtlJt-MRZdg) 9 | - [6个你应该用用看的用于文本分类的最新开源预训练模型](https://zhuanlan.zhihu.com/p/130792659) 10 | - [从理论到实践解决文本分类中的样本不均衡问题](https://mp.weixin.qq.com/s?__biz=MzU1NjYyODQ4NA==&mid=2247484661&idx=1&sn=8a91b910e941c87fba79a6154c819d66&chksm=fbc36b9eccb4e288c0e37d811b8511c1b093bb664f6442ec9d9e2189d1ea201613da37a3cd33&mpshare=1&scene=24&srcid=0703DjmDK4AfPSuBKxT8gEMH&sharer_sharetime=1625253571562&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A17XMeW6otqsYpmcg5f1gW0%3D&pass_ticket=ahSCjZBnxTVe3IcKWMxBQVeAXXap9Se8HXejNWF3PIlQHiDsRH5Yr1%2FzLdG%2FTkZA&wx_header=0#rd) 11 | - 数据的采样方法层面,相似样本生成(simbert),loss层面 12 | - [ICML 2020 | 基于类别描述的文本分类模型](https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/106754400) 13 | - [弱监督文本分类](https://mp.weixin.qq.com/s/rgI7R1Z1elCzbSC93O6IhQ) 14 | 15 | 16 | ## 少样本 17 | - [论文分享 | AAAI 2022 探索小样本学习在解决分类任务上过拟合问题的方法](https://mp.weixin.qq.com/s/DymXP95X77mfs2CGJZEyPQ) 18 | - [文本分类大杀器:PET范式](https://mp.weixin.qq.com/s/qW0iwqWhkj12euEXRenZDg) 19 | - 使用prompt learning方式进行文本分类 20 | - 不通pattern对效果有很大影响 21 | - 构造soft label训练数据+无标签MLM任务 22 | - [少样本文本分类 InductionNet](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247502646&idx=4&sn=d1cccfd219b485bf2e5b412d3f08056c&chksm=eb53dfa5dc2456b37657207d86c33758b10884f958909c982ef5926eacd5f08b220fa51536ec&mpshare=1&scene=24&srcid=0527W5ME2Zj4D1bpqs1JhWuZ&sharer_sharetime=1622127690299&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A8UlYy8n%2F03u15ioi5Fk7t8%3D&pass_ticket=ahSCjZBnxTVe3IcKWMxBQVeAXXap9Se8HXejNWF3PIlQHiDsRH5Yr1%2FzLdG%2FTkZA&wx_header=0#rd) 23 | - [只有少量标注样本,如何做好文本分类任务?](https://mp.weixin.qq.com/s/IwdEisDXjbyPLTjjcixqGg) 24 | - 主要思想是对文本进行更好的向量表示,然后以向量为特征使用SVM算法进行分类 25 | - [ACL2022 | KPT: 文本分类中融入知识的Prompt Verbalizer](https://mp.weixin.qq.com/s/20nwLbn1hezf_BICgdhRzg) 26 | - [小样本学习--笔记整理](https://blog.csdn.net/u010138055/article/details/90690606) 27 | 28 | 29 | ## 多标签分类 30 | 31 | - [多标签分类(multi-label classification)综述](https://www.cnblogs.com/cxf-zzj/p/10049613.html) 32 | - 问题转化方法:分类器链,基于生成的方法,多标签转成单标签 33 | - 直接建模 34 | - [EMNLP2021论文:元学习大规模多标签文本分类](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650427439&idx=4&sn=3cb2d0edac444a20d61174d877e661d3&chksm=becdd67589ba5f632533c05ac744d8dffb9d825e99e46fb45b6c9e1f69b0ead11819a3384f06&mpshare=1&scene=24&srcid=1127vW4uT3jw6Xmn9tyxtOeN&sharer_sharetime=1637963151380&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A2REQqlB2R5ChUzrLQzPhuU%3D&pass_ticket=ahSCjZBnxTVe3IcKWMxBQVeAXXap9Se8HXejNWF3PIlQHiDsRH5Yr1%2FzLdG%2FTkZA&wx_header=0#rd) 35 | - 提出了一种多标签数据的采样策略 36 | - [nn.BCEWithLogitsLoss和nn.MultiLabelSoftMarginLoss有啥区别](https://blog.csdn.net/jiangpeng59/article/details/92016262?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare) 37 | - [标签感知的文档表示用于多标签文本分类(EMNLP 2019)](https://zhuanlan.zhihu.com/p/207221522) 38 | - 对label的文本表示信息进行embedding 39 | - 文档self-attention,label-document attention 40 | - attention fusion, 计算权重后加权 41 | - [关于多目标任务有趣的融合方式](https://mp.weixin.qq.com/s/bJpkMbreO9FvRl3-A5pIKA) 42 | - [ACL'22 | 使用对比学习增强多标签文本分类中的k近邻机制](https://mp.weixin.qq.com/s/xtc9MNlZIN5Xbg0nsBThPA) 43 | - 44 | 45 | 46 | ## 层次标签分类 47 | - [层次文本分类-Seq2Tree:用seq2seq方式解决HTC问题](https://mp.weixin.qq.com/s/eSJF8SAtuYq-DH_VfY-Ixg) 48 | - [label embedding与attention机制在层次文本分类中的简单架构-HAF](https://mp.weixin.qq.com/s/XxFBm5p-srxVkFvt4cnxIA) 49 | -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Text-correction.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 文本纠错 7 | 8 | - [针对OCR的NLP纠错:从原理到实践](https://zhuanlan.zhihu.com/p/179957371) 9 | - [AI LIVE | 文本纠错技术探索和实践](https://zhuanlan.zhihu.com/p/159101860) 10 | - [NLP上层应用的关键一环——中文纠错技术简述](https://zhuanlan.zhihu.com/p/82807092) 11 | - [小爱同学-基于BERT的ASR纠错](https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247503412&idx=1&sn=75ef312902713d3766a43a6c71e1024e&chksm=fbd77c58cca0f54e3a9ffbe9ec075a144e8b16a171287367173d4a0d69f511106335c7b05298&scene=27#wechat_redirect) 12 | - 基于模糊拼音的数据生成:划分成5个模糊拼音等级 13 | - 预训练一个基于拼音的的语言模型,将拼音的embedding和token的embedding拼接作为输入, 14 | 然后经过一个softmax预测可能的正确的token 15 | - 预测时对此表增加限制;句子中存在多个错误是,可以递归的进行预测 16 | - [策略算法工程师之路-Query纠错算法](https://zhuanlan.zhihu.com/p/145198390) 17 | - [垂直电商搜索纠错](https://zhuanlan.zhihu.com/p/161946260) 18 | - 检错模型:基于bert模型,类似序列标注,0001001 19 | - 召回模型:基于bert模型的MLM机制 20 | - 排序模型:根据纠错前后词频特征,文本、拼音编辑距离特特征,语言模型ppl特征等,使用LR或者树模型进行排序 21 | - [百度中文纠错技术](https://www.infoq.cn/article/25fsqE_h9ltDkfLJlcti) 22 | - 错误检测:使用序列表示+CRF方式:使用特征包括token,句法,词法信息,字词多粒度特征 23 | - 候选召回:包括离线候选挖掘(构建训练数据),在线的候选召回 24 | - 接错排序:基于受限词表的语言模型,关联知识(原始query召回部分句子) 25 | - [医疗健康领域的短文本解析探索(三) ----文本纠错](https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650415123&idx=2&sn=f3e17a19b9bb96627d24d96ee8167dc5&chksm=becda64989ba2f5fef5eac58743e17d4fc97440b11df1658d8ef50c171fb118f71f57ee58c03&mpshare=1&scene=24&srcid=0731WF3sx2ekxIjHQuttwsFS&sharer_sharetime=1596188559215&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=AxZACC%2FGGHzrwIQGtUNf4mY%3D&pass_ticket=IL%2BeHRprAt5yAlLjjC250jaLkeHDOYyDyV4vRbYX%2F0r7c3KJ%2FwPqrBhOiTesV9Z9&wx_header=0#rd) 26 | - [中文语法错误诊断CGED2021评测TOP1队伍总结](https://zhuanlan.zhihu.com/p/444117518) 27 | - 28 | 29 | 30 | ## 中文拼写纠错 31 | - [中文拼写检测(Chinese Spelling Checking)相关方法、评测任务、榜单](https://blog.csdn.net/qq_36426650/article/details/122807019) 32 | - [腾讯中文纠错模型 PLOME 论文详解!](https://juejin.cn/post/7039144348021162021) 33 | 34 | ## 语法错误 35 | - [EMNLP'22 | 苏大LAGroup提出:利用定制句法信息的语法纠错](https://mp.weixin.qq.com/s/Y1iMxfhJ9xMKiOE9e8P7Rw) 36 | - [文本语法纠错不完全调研:学术界 v.s. 工业界最新研究进展](https://mp.weixin.qq.com/s/Dj8KIe6LbVGonV-Kk9mO2Q) 37 | - [语法纠错的研究现状](https://mp.weixin.qq.com/s/0_qp1WsrEsjnj8ST4zQyTQ) 38 | - 伪标注数据生成方法 39 | - 语法纠错模型介绍 40 | - [NLPCC2018中文语法错误修正任务分享](http://techblog.youdao.com/?p=1281) 41 | - [文本纠错 | 怎样改善模型对 multi-typo 的纠正效果?](https://mp.weixin.qq.com/s/GIOQo3iguAJ5MgW7MjMZww) 42 | 43 | ## ASR纠错 44 | - [拼写、常识、语法、推理错误都能纠正,云从提出基于BART的语义纠错方法](https://mp.weixin.qq.com/s/uGeQgyPUfz5VRlpp1pnCbA) 45 | - [基于BERT的ASR纠错](https://mp.weixin.qq.com/s/Y1iMxfhJ9xMKiOE9e8P7Rw) -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Text-embedding.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## sentence embedding 7 | 8 | - [ICLR2022 | Facebook AI提出解决表示学习坍塌问题新方法](https://mp.weixin.qq.com/s/Lz4Xj5nw27fGleMdj0qYHQ) 9 | - [【Bert详解】句向量生成](https://mp.weixin.qq.com/s/BetWFC1mkjY8kVOGeAvBMw) 10 | - [Sentence Embedding 现在的 sota 方法是什么?](https://www.zhihu.com/question/510987022/answer/2332143190) 11 | - [RNN-BSE Natural Language Inference及代码阅读](https://zhuanlan.zhihu.com/p/79604250) 12 | - [[NLP论文阅读]Siamese CBOW: OptimizingWord Embeddings for Sentence Representations](https://blog.csdn.net/sinat_31188625/article/details/73611758) 13 | 14 | 15 | ## phrase embedding 16 | 17 | - [​EMNLP 2021 | 以对比损失为微调目标,UMass提出更强大的短语表示模型](https://www.johngo689.com/95701/) -------------------------------------------------------------------------------- /awesome-DL-blog/Some-NLP-Task/Text-retrieval.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | 6 | ## 文本检索匹配 7 | - [21个经典深度学习句间关系模型|代码&技巧](https://mp.weixin.qq.com/s?__biz=MzAxMTk4NDkwNw==&mid=2247486128&idx=1&sn=3c77c96c6891a94de629677911b42553&chksm=9bb983d4acce0ac298ad04543676d4b0568977d010f3945d51edc0680c785b0b97827aee9028&token=1200978700&lang=zh_CN&scene=21#wechat_redirect) 8 | 9 | 10 | ## 双塔模型 11 | - [谈谈文本匹配和多轮检索](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247488346&idx=3&sn=5ba89654a742af8bdaf17c94546f7a4e&chksm=eb5007c9dc278edfc0d4256fd14dfab3584eece5545a0464029ae3ae67d47be7e92fbc6034b3&scene=0&xtrack=1&exportkey=A2quZRdG6ZUylyxhp59oMVA%3D&pass_ticket=peaJqRABUyiyXUkxShtHPoJ7onMoJTA4OFYeMuNaXmdNKq47G0x8XJEm7afGdVcX#rd) 12 | - [NLP语义匹配](https://mp.weixin.qq.com/s?__biz=MzI3ODgwODA2MA==&mid=2247507074&idx=3&sn=42be588256e0fc6eee1b646b57c114d2&chksm=eb53c811dc2441076f9ab07f876f5c00819a103d39f8494af6a6aceab3b912267e7dd17d0b30&mpshare=1&scene=24&srcid=1117Io9vftzLt8q6xRYByepS&sharer_sharetime=1637156450934&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A78%2BrTGzFzSs5hWhqtynFeo%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 13 | - [2020深度文本匹配最新进展:精度、速度我都要!](https://mp.weixin.qq.com/s?__biz=MzA5ODEzMjIyMA==&mid=2247534555&idx=3&sn=9ac3ecdd66f3bc9be8cfe27135050718&chksm=90944e48a7e3c75e0c08d0b0a21a51d147dc5fde4a697caec775ceb4ac800682a0ccf1e1d32f&mpshare=1&scene=24&srcid=0916XmZ74y1eLSVwSazTGATm&sharer_sharetime=1600268113155&sharer_shareid=9d627645afe156ff11b0a8519d982bcd&exportkey=A5ZY0n4H%2BzW%2F9Z%2BLBsIwWqg%3D&pass_ticket=X1hVh%2FzYha2Fa9G%2FZWK0bpCofPY07lt8BPBNyjf1xUWYljT%2Bk%2F9q5rZ%2F%2B4bWWFme&wx_header=0#rd) 14 | - [竞赛】天池-新冠疫情相似句对判定大赛top6方案及源码](https://mp.weixin.qq.com/s?__biz=Mzk0NDE5Nzg1Ng==&mid=2247490106&idx=1&sn=4f2fa8a4df430cb3aceb1094f5ca791a&source=41#wechat_redirect) 15 | - [深度文本检索模型:DPR, PolyEncoders, DCBERT, ColBERT](https://zhuanlan.zhihu.com/p/523879656) 16 | - [ERNIE-Search:向交互式学习的表征式语义匹配代表作](https://mp.weixin.qq.com/s/5Benqgq1utHIL097XR5FWA) 17 | - [Facebook全新电商搜索系统Que2Search](https://mp.weixin.qq.com/s/S18T913SeyrtVQadMmLPlA) 18 | - [SIGIR20最佳论文:通往公平、公正的Learning to Rank!](https://mp.weixin.qq.com/s?__biz=MzIzMzYwNzY2NQ==&mid=2247485912&idx=1&sn=4f360828048866bca8138846351a80e6&chksm=e8825146dff5d8505f06c6598d04e9f0c3dab0d8dd6fe4c5eac1d42490b06e233c31d1ea2ef9&scene=21#wechat_redirect) 19 | - [前沿重器2 美团搜索理解和召回](https://mp.weixin.qq.com/s?__biz=MzIzMzYwNzY2NQ==&mid=2247486004&idx=1&sn=2725794c67a9350cb3f9feabd4ee1736&chksm=e88252aadff5dbbcc41e48223e550469aee1a37dcaf2ee7d29b52fa174cfb0d7223dc5b4e5b3&scene=21#wechat_redirect) 20 | - [搜索中的深度匹配模型](https://zhuanlan.zhihu.com/p/113244063) 21 | - [WSDM Cup 2020检索排序评测任务第一名经验总结](https://zhuanlan.zhihu.com/p/116013450) 22 | - [京东:个性化语义搜索在电商搜索中的应用](https://mp.weixin.qq.com/s/S9cw-pLIJSa4F9YvqE9uhw) 23 | - [淘宝搜索中基于embedding的召回](https://mp.weixin.qq.com/s/775qZLQaH9IolmqvPz3Sjw) 24 | - [Transformer 在美团搜索排序中的实践](https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651751586&idx=1&sn=a61c9da125e9b7e68473b32e0278b0ea&chksm=bd125def8a65d4f9d20b682345365d5001e9c863d5046acf683da6116b265d168c0340754fc9&scene=21#wechat_redirect) 25 | - [Embedding-based Retrieval in Facebook Search](https://zhuanlan.zhihu.com/p/152570715) 26 | - [SIGIR 2020之MarkedBERT模型:加入传统检索线索的Rerank模型](https://zhuanlan.zhihu.com/p/175981489) 27 | - [双塔模型的最强出装,谷歌又开始玩起“老古董”了?](https://mp.weixin.qq.com/s/crEfe6Zb7q1AoTGrOAmcCQ) 28 | 29 | ## 交互模型 30 | - [Dual-Cross-Encoder:面向稠密向量检索的Query深度交互的文档多视角表征](https://mp.weixin.qq.com/s/vbtyqWchdfd3loqUsjQJ7w) 31 | - [如何引入外部知识增强短文本匹配?](https://mp.weixin.qq.com/s/mdNGA97bypX6fK3c5ti3kg) 32 | 33 | ## 交互和双塔结合 34 | - [交互模型你快跑,双塔要卷过来了](https://mp.weixin.qq.com/s/UF0cI7M1-tHBo45BujmQCg) 35 | - 交互模型慢,精度高,双塔模型与之相反。二者结合:将交互模型的知识蒸馏到双塔模型上 36 | 37 | ## Vector retrieval 38 | - [笔记︱几款多模态向量检索引擎:Faiss 、milvus、Proxima、vearch、Jina等](https://mp.weixin.qq.com/s/BbCVTOZ_sEyY9_7iWW1dNg) 39 | - 工具介绍,向量检索方法 40 | - [向量检索使用场景和关键技术](https://mp.weixin.qq.com/s?__biz=MzkxMjM2MDIyNQ==&mid=2247504260&idx=1&sn=0e2ed82e21878373e8e93e67f470dfcb&source=41#wechat_redirect) 41 | - 向量搜索的应用领域:对话系统,以图搜图,以字搜图 42 | - 向量索引方法:LSH,近邻图,乘积量化 43 | - [Elasticsearch 向量搜索的工程化实战](https://mp.weixin.qq.com/s/DtT5NhLOInIPgqbETzNOdg) 44 | - [向量检索研究系列算法](https://mp.weixin.qq.com/s/hf7W8gpUAstNEBEnS9s7zQ) 45 | - [Faiss中的IVF,PQ,IVFPQ原理](https://zhuanlan.zhihu.com/p/356373517) 46 | 47 | ## 评估指标 48 | - [搜索推荐评价指标Precision@k、Recall@k、F1@k、NDCG@k](https://blog.csdn.net/guolindonggld/article/details/121114309) 49 | 50 | -------------------------------------------------------------------------------- /template.md: -------------------------------------------------------------------------------- 1 | [TOC] 2 | 3 | 4 | 5 | # Repo 6 | 7 | # Paper 8 | 9 | ## subdomain-1 10 | ### 2022 11 | - paper 12 | - 2000.10, ACL2001 13 | -
14 | : 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | # CSDN模板 23 | 24 | > [**点击查看我的更多AI学习笔记github**](https://github.com/xueyongfu11/awesome-deep-learning-resource) 25 | --------------------------------------------------------------------------------