大模型整理(large language models survey)

基座大模型

GPT系列

2022年底,ChatGPT开启了大模型时代的序章。

  • GPT-4 Technical Report:具备更强的推理能力,且能够融合图像信息。
  • InstructGPT
  • ChatGPT: ChatGPT是InstructGPT的姊妹模型,只是在数据收集和基座模型上有轻微差异。

LLaMA

LLaMA只使用开源数据预训练,在较小的模型参数下取得了相近的效果。
LLaMA 拥有7B, 13B, 33B and 65B 4种模型参数,模型开源但不可商用。

从0到1组装自己的台式机

明确自己的需求

不同的需求对配置的侧重是不同的。

  • 普通办公:侧重平衡。
  • 娱乐:侧重显卡。
  • 重度办公:侧重内存。
  • 专业开发:侧重堆配置。

购买必要配件

普通办公

以下这套方案是2021年为了日常办公而采取的方案。
主要使用场景是在公司日常办公以及连接开发机进行代码开发,所以并不需要很高的配置,只需要较大的内存即可。

注意:Intel和AMD对应不同的主板,购买的时候一定要注意。

普通办公兼顾娱乐

以下这套方案是2021年为了在家办公采用的方案。
偶尔会看视频、做视频、调试AI模型。所以采用了较小的机箱,升级了GPU。

注意:升级GPU要考虑电源的功率,600W正好可以支持RTX3060,无需升级电源了。

普通办公送给长辈

以下这套方案是2023年初为了给家里长辈日常办公采用的方案。
考虑到长辈的认知度和对速度的需求,采用了Intel i5和32GB 3600内存。

动手组装

这方面参考了哔哩哔哩上的安装视频,大家可以自行搜索下。
注意:安装CPU的时候一定要小心再小心,CPU针脚很多且脆弱。

安装Windows系统

语音识别概述

引言

语音识别定义

语音识别,亦称自动语音识别(Automatic Speech Recognition,ASR)或语音文本转换(Speech to Text, STT),
是一种将语音转为文本的技术。当前的语音识别一般均特指大词汇量连续语音识别。

语音识别应用

语音识别有着广泛的应用,按照使用场景的不同,可以分为以下几类:

  • 语音输入:语音输入法、语音搜索等。
  • 语音助手:手机、音箱、穿戴设备上的语音助手,例如Siri、Cortana、Alexa等。
  • 智能座舱:车载控制、娱乐等车载语音交互,例如NOMI。
  • 智能家居:家居控制、娱乐等家居语音交互,例如小爱同学等。
  • 电话客服:智能外呼、IVR、客服质检等。
  • 商务办公:线上线下会议直播的字幕上屏展示。
  • 语音审核:这类应用面向在线直播、电台等,检测是否存在违规违法内容。

语音识别类别

根据应用场景对实时性的要求高低,可以分为:

  • 实时语音识别:要求系统低延迟,在两百毫秒以内;一般以语音流的方式实时地识别。典型的例子包括语音助手等语音交互、字幕实时上屏。
  • 非实时语音识别:不要求实时返回结果;一般是一句话识别或文件语音识别。会议纪要转写等录音的语音识别属于这类。

根据系统实现架构,可以分为

  • 经典语音识别:系统由声学模型、语言模型、发音词典、解码器几个部分组成。系统模块较多,搭建较为复杂;各个模块‘分工明确’ 模型结构相对简单,不依赖大量训练数据,在小数据集上有一定优势。
  • 端到端语音识别:系统由一个模型实现从语音到文本的直接转换。深度学习引入语音识别之后,端到端的方式逐步成为研究热点。单个模型没有级联累积错误,而且系统搭建相对简单;但由于模型规模较大,需要更多的数据和训练成本。

Read More

Deep Learning Book

无监督学习算法

监督学习算法

随机梯度下降

随机梯度下降的核心是期望。所以可以用小规模的样本去估计梯度,这样就可以用minibatch的方式去计算梯度、更新模型。

构建机器学习算法

深度学习算法的配方:

  • 特定的数据集:
  • 代价函数:代价函数至少含有一项使学习过程进行统计估计的成分。代价函数也可能还有附加项,如正则化。
  • 优化过程:非线性模型要求选择一个迭代数据优化过程,如梯度下降。
  • 模型

促使深度学习发展

  • 维度灾难 参考
  • 局部不变性和平滑正则化
  • 流形学习

深度前馈网络

前馈网络克服了线形网络的局限,是一种高效的非线性函数近似。
现代前馈网络的思想仍然使用反向传播算法和梯度下降方法。主要的性能提升来自于

  1. 训练数据量的提升:减少了统计泛化对神经网络的挑战;
  2. 更大的网络结构:更强的算力和更好的深度学习框架基础使得神经网络能够变得更大;
  3. 少量算法的优化:包括交叉熵取代均方误差作为损失函数,使用RELU等分段线性函数作为激活函数。

Read More

pip清华源

永久更新为清华源

方法一

编辑 vim ~/.pip/pip.conf ,修改为:

1
2
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

方法二

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

临时更新为清华源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

PIP更新方式

更新清华源往往需要使用最新的pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

ESPNET 安装指引

准备Python环境

  1. 建议安装anaconda3: anaconda3
  2. 创建ESPNET的环境: conda create -n espnet python=3.6

Install ESPNET相关依赖

  1. 下载espnet源代码 espnet github
  2. pip install torch==1.0.1 # Installation from anaconda is recommended for PyTorch
  3. pip install chainer==6.0.0
  4. pip install cupy==6.0.0 # Do not install cupy as default
  5. pip install setuptools>=38.5.1
  6. pip install scipy>=1.3.0
  7. pip install librosa>=0.7.0
  8. pip install soundfile>=0.10.2
  9. pip install inflect>=1.0.0
  10. pip install unidecode>=1.0.22
  11. pip install editdistance==0.5.2
  12. pip install h5py==2.9.0
  13. pip install tensorboardX==1.8
  14. pip install pillow>=6.1.0
  15. pip install nara_wpe>=0.0.5
  16. pip install museval>=0.2.1
  17. pip install pystoi>=0.2.2
  18. pip install kaldiio>=2.13.8
  19. pip install matplotlib>=3.1.0
  20. pip install funcsigs>=1.0.2 # A backport of inspect.signature for python2
  21. pip install configargparse>=0.14.0
  22. pip install PyYAML>=5.1.2
  23. pip install sentencepiece>=0.1.82
  24. pip install pysptk>=0.1.17
  25. pip install nltk>=3.4.5
  26. pip install nnmnkwii
  27. pip install jaconv
  28. pip install g2p_en
  29. pip install torch_complex@git+https://github.com/kamo-naoyuki/pytorch_complex.git
  30. pip install pytorch_wpe@git+https://github.com/nttcslab-sp/dnn_wpe.git
  31. pip install warpctc-pytorch10-cuda90==0.1.3 (GitHub源码不易安装,pip安装较为简单)

Install 其他依赖

  1. kaldi相关的依赖: sudo yum install atlas
  2. sudo yum install bc
  3. sudo yum install tree
  4. sudo yum install libsndfile
  5. sudo yum install flac (librispeech 语音转格式,需要安装flac)

install cuda

  1. 目前已支持cuda10,安装 sh /path/to/cuda10/cuda_10.0.130_410.48_linux.run
  2. export LD_LIBRARY_PATH=/path/to/cuda/lib64:$LD_LIBRARY_PATH

Install ESPNET

  1. conda activate espnet (或者recipe里面的 path.sh)
  2. pip install -e /path/to/espnet/

Run ESPNET

  1. conda activate espnet
  2. cd /path/to/espnet/egs/recipe
  3. sh run.sh