分享

深圳大学计算机视觉研究所项目登上GitHbub热榜,低成本实现中文预训练LLM

 黄爸爸好 2023-05-06 发布于上海
【导读】大规模语言模型(LLM)是许多NLP任务的通用底座,然而目前的预训练模型通常针对单一或少数语言进行预训练,即使是多语言模型(例如GPT-NeoX)也会在预训练数据上偏袒英文语料造成不同语言上的性能不均衡。以Meta训练的LLaMA为例,它在英文上达到了接近GPT3的性能,而在中文上的表现相差甚远。对于大多数研究者都难以承受在中文上从头训练一个LLM基础模型的成本,而将已有的模型迁移到中文上是更可行的选择。

在本文中,深圳大学计算机视觉研究所团队尝试以非中文的预训练模型为基础,使用少量数据和计算量“撬动”模型的语言能力转向中文,以较低的成本实现中文预训练LLM。他们的假设是,用中英文平行语料微调模型,能够对齐模型中英文在高维空间的表示,从而将模型在英文上的强大语言能力迁移到中文。

项目简介

项目向社区提供中文对话模型 Linly-ChatFlow 、中文基础模型 Linly-Chinese-LLaMA 及其训练数据

模型基于 TencentPretrain 多模态预训练框架构建, 将陆续开放 7B、13B、33B、65B 规模的中文模型权重。

Linly-ChatFlow 支持简繁体中文、英文、日文等多语言。LLaMA 在预训练阶段主要使用英文,为了将其语言能力迁移到中文上,首先进行中文增量预训练, 使用的语料包括中英平行语料、中文维基、社区互动、新闻数据、科学文献等。再通过 Alpaca 指令微调得到 Linly-ChatFlow。

  • 中英平行语料:https:///wmt18/translation-task.html#download

  • 中文维基、社区互动、新闻数据:https://github.com/CLUEbenchmark/CLUECorpus2020

  • 科学文献:https://github.com/ydli-ai/CSL

项目特点

  • 通过 Full-tuning (全参数训练)获得中文模型权重,提供 TencentPretrain 与 HuggingFace 版本

  • 汇总中文开源社区指令数据,提供目前最大的中文 LLaMA 模型

  • 模型细节公开可复现,提供数据准备、模型训练和模型评估完整流程代码

  • 多种量化方案,支持 CUDA 和边缘设备部署推理

中文预训练语料 :https://github.com/CVI-SZU/Linly/blob/main/corpus/README.md

中文指令精调数据集:https://github.com/CVI-SZU/Linly/blob/main/instructions/README.md

模型量化部署:https://github.com/fengyh3/llama_inference

领域微调示例:https://github.com/CVI-SZU/Linly#todo-list

News

  • [2023/4/21] 🚀 正式发布 Linly-ChatFlow-13B 对话模型、Linly-Chinese-LLaMA-33B 中文基础模型

  • [2023/4/17] llama_inference 更新 8-bit 量化推理和微服务部署,大幅度提升推理速度并降低内存消耗

  • [2023/4/8] TencentPretrain 现已支持 LoRA 训练和 DeepSpeed Zero-3 Offload 流水线并行

  • [2023/4/1] 更新 4-bit 量化版本 Linly-ChatFlow 模型权重,支持 llama.cpp 高速推理

  • [2023/3/28] 开放基于 LLaMA 的中文对话模型 Linly-ChatFlow-7B , 技术博客

目录

  • 模型下载

  • 快速开始

  • 模型训练

  • 生成示例

  • 局限性

  • 中文预训练/指令数据集

  • 交流和问题反馈

  • TODO-List

  • License

  • Contributors

模型下载

使用须知 

模型权重基于 GNU General Public License v3.0 协议,仅供研究使用,不能用于商业目的。请确认在已获得许可的前提下使用本仓库中的模型。

7B:基础模型 Linly-Chinese-LLaMA-7B| 对话模型 Linly-ChatFlow-7B| int4量化版本 Linly-ChatFlow
13B:基础模型 Linly-Chinese-LLaMA-13B| 对话模型 Linly-ChatFlow-13B🔥
33B33B 基础模型
65B:训练中

 HuggingFace模型
7B 基础模型 | 13B 基础模型 | 33B 基础模型
7B 对话模型 | 13B 对话模型

训练情况

模型仍在迭代中,每周更新一次新版模型权重。

快速开始

下载预训练 ChatFlow 权重,安装依赖,测试环境: py3.8.12 cuda11.2.2 cudnn8.1.1.33-1 torch1.9.0 bitsandbytes0.37.2

git lfs installgit clone https:///P01son/Linly-ChatFlow-7Bgit clone https://github.com/fengyh3/llama_inference.git
cd llama_inference vi beginning.txt #编辑用户输入,例如'上海有什么好玩的地方?'
python3 llama_infer.py --test_path prompts.txt --prediction_path result.txt \ --load_model_path ../Linly-ChatFlow-7B/chatflow_7b.bin \ --config_path config/llama_7b_config.json \ --spm_model_path ../Linly-ChatFlow-7B/tokenizer.model --seq_length 512

多轮对话

python3 llama_dialogue.py --seq_length 512 --top_k 10   \                      --load_model_path ../Linly-ChatFlow-7B/chatflow_7b.bin  \                      --config_path ./config/llama_7b_config.json \                      --spm_model_path ../Linly-ChatFlow-7B/tokenizer.model

Int8 推理加速

python3 llama_infer.py --test_path prompts.txt --prediction_path result.txt \ --load_model_path ../Linly-ChatFlow-7B/chatflow_7b.bin \ --config_path config/llama_7b_config.json \ --spm_model_path ../Linly-ChatFlow-7B/tokenizer.model --seq_length 512 --use_int8


微服务部署

安装依赖:flask

python3 llama_server.py --load_model_path ../Linly-ChatFlow-7B/chatflow_7b.bin  \                        --config_path config/llama_7b_config.json \                        --spm_model_path ../Linly-ChatFlow-7B/tokenizer.model --seq_length 512
curl -H 'Content-Type: application/json' http://127.0.0.1:8888/chat -d '{'question': '北京有什么好玩的地方?'}'

Int4 CPU本地部署

将 Int4 量化后的模型权重部署在本地使用CPU推理。

git lfs installgit clone https://github.com/ggerganov/llama.cpp.gitgit clone https:///P01son/Linly-ChatFlow-7B-int4
cd llama.cppmake./main -m ../Linly-ChatFlow-7B-int4/chatflow-ggml-q4_0.bin -p '北京有什么好玩的地方?\n' -n 256

模型训练

安装依赖,测试环境: py3.8.12 cuda11.2.2 cudnn8.1.1.33-1 nccl2.10.3 deepspeed0.8.3 torch1.9.0

使用 TencentPretrain 训练:

git clone https://github.com/Tencent/TencentPretrain.gitcd TencentPretrain
#将 tencentpretrain/utils/constants.py 文件中 L4: special_tokens_map.json 修改为 llama_special_tokens_map.json


中文增量预训练

准备模型权重

以 7B 模型为例,首先下载预训练LLaMA权重,转换到TencentPretrain格式:

python3 scripts/convert_llama_from_huggingface_to_tencentpretrain.py --input_model_path $LLaMA_HF_PATH \ --output_model_path models/llama-7b.bin --type 7B

也可以下载基础模型 Linly-Chinese-LLaMA-7B进行增量训练,不需要转换格式。

预处理

下载中文预训练语料

python3 preprocess.py --corpus_path $CORPUS_PATH --spm_model_path $LLaMA_PATH/tokenizer.model \                      --dataset_path $OUTPUT_DATASET_PATH --data_processor lm --seq_length 512


预训练

deepspeed pretrain.py --deepspeed --deepspeed_config models/deepspeed_zero3_config.json --enable_zero3 \ --pretrained_model_path models/llama-7b.bin \ --dataset_path $OUTPUT_DATASET_PATH --spm_model_path $LLaMA_PATH/tokenizer.model \ --config_path models/llama/7b_config.json \ --output_model_path models/llama_zh_7b \ --world_size 8 --data_processor lm --deepspeed_checkpoint_activations \ --total_steps 300000 --save_checkpoint_steps 5000 --batch_size 24

中文指令学习

构建指令数据集并预处理:

python3 preprocess.py --corpus_path $INSTRUCTION_PATH --spm_model_path $LLaMA_PATH/tokenizer.model \                      --dataset_path $OUTPUT_DATASET_PATH --data_processor alpaca --seq_length 512

指令微调

deepspeed pretrain.py --deepspeed --deepspeed_config models/deepspeed_zero3_config.json --enable_zero3 \ --pretrained_model_path models/llama_zh_7b.bin \ --dataset_path $OUTPUT_DATASET_PATH --spm_model_path $LLaMA_PATH/tokenizer.model \ --config_path models/llama/7b_config.json \ --output_model_path models/chatflow_7b \ --world_size 8 --data_processor alpaca --deepspeed_checkpoint_activations \ --total_steps 20000 --save_checkpoint_steps 2000 --batch_size 24

生成示例

  • 常识推理

PromptLinly-ChatFlow-7BLinly-ChatFlow-13B
如何提高我的时间管理技能?为了提高时间管理技能,首先要训练自己正确地安排工作任务,以避免过分劳累或者被事情所打断。可以将重要的任务记录在计划表上,并且设置合理的目标和限期,以防止焦虑和失去动力。其次,要学会有效利用空闲时间,比如看书、工作外的活动等,来改变个人生活的状态,更好地完成任务。最后,还可以通过定期回顾之前的进程来对时间管理水平进行反思,而且不要太过于严格要求自己,以避免造成心理压力。以下是一些可能有用的技巧来提高时间管理技能:

1. 制定日程表和计划,并遵守它。
2. 集中精力处理任务,不要分散注意力。
3. 利用工具和软件来帮助你更好地组织和管理时间。
4. 学会说“不”,以避免过度承诺。
5. 设置优先级,将最重要的事情放在首位处理。
6. 使用番茄工作法或其他时间管理技巧来保持专注。
7. 确保足够的睡眠和运动以保持健康状态。
8. 了解自己的效率峰值时间,以便安排任务并获得更多成果。
9. 通过学习新的技能和知识来提高效率。
10. 监控进展并对进展进行反思和调整计划。
应对压力最有效的方法是什么?有效应对压力的方法包括:1)学会合理安排时间,以防止把所有事情都放在一天或一周内;2)要紧跟大局,不被小问题左右浮躁心态;3)学会放松自己,从而改变你的生活状态;4)及时去看医生,保持身体健康。应对压力最有效的方法是学会放松自己,找到一个适合你的方式去消除压力,比如运动、音乐、读书或者与朋友交流等。同时也可以缩小工作和生活范围,给自己足够的空间去完成任务,建立更好的生活和工作平衡。
Python和JavaScript编程语言的主要区别是什么?Python是一种解释型、面向对象的脚本语言,可用于Web开发、数据分析、人工智能等。而JavaScript则是一种动态、交互式的脚本语言,广泛应用于前端网页设计、游戏开发、服务器端编程等。两者的最大区别在于:
- 语法不同:Python的语法相对简单,有点像C/C++,而JavaScript则非常复杂,由于需要重新定义函数,所以使用起来也比较麻烦;
- 功能不同:Python支持多种模块和库,可以实现各种任务,例如数据处理、图形化操作等;JavaScript除了HTML/CSS之外,还包含JQuery、React、Angular等框架,用于创建客户端界面。
Python和JavaScript的主要区别在于他们的用途。Python是一种通用性比较高的计算机语言,可以应用于不同类型的编程任务,包括Web开发、数据分析等;而JavaScript则主要用于Web开发,其功能比较局限。
在家办公时如何提高我的工作效率?1. 创造一个舒适和整洁的工作空间,以保持专注和集中注意力。
2. 制定每日或每周任务清单并优先处理最重要的事项。
3. 设定明确的工作时间表,包括上下班时间、休息时间和完成任务的期限。
4. 避免多任务,专注于一件事情直到完成,然后再转换到下一件事情。
5. 利用技术来管理时间,例如使用时间跟踪应用程序或将社交媒体关闭。
1.设立一个专门的工作空间,让自己更加集中;
2.制定计划和清单来管理任务和优先事项;
3.保持良好的沟通与联系,以避免错过重要信息或突发情况;
4.创造一些定期的小活动来改变状态和放松身心;
5.注意健康,包括合理饮食、运动和睡眠等。
你能解释量子计算的基础知识吗?量子计算是一种利用量子力学原理来实现更高效运算和处理问题的计算机技术。其主要基础包括:1)量子比特(qubit),2)量子态运算,3)量子测量技术,4)超导性等。量子比特可以同时存在于 0 和 1 状态之间,而不需要通过传统计算机中不断地测量来确定其位置;量子态运算使得操作方式有助于改变计算结果;量子测量技术则有助于分析系统的行为;超导性有助于放大信息并提供更多的内存空间。量子计算是一种新型的计算技术,利用了量子物理原理来处理信息。在传统的计算机中,每个比特(位)只有两种状态:0和1。而在量子计算机中,每个量子比特可以同时处于多种状态,这些状态被称为超位置,因此,量子计算机可以更高效地处理大量复杂的数据。此外,量子计算还可以使用比特的相互作用来实现加速运算,从而极大提高计算效率。
植物蛋白和动物蛋白的主要区别是什么?植物蛋白和动物蛋白的主要区别在于其组成结构:植物蛋白由大量的α-螺旋链构成,而动物蛋白则包含更复杂的β-折叠链。此外,植物蛋白通常缺乏重要的氨基酸,如谷氨酰胺、色氨酸、甘氨酸等,这些都可能影响其功能性。植物蛋白和动物蛋白有不同的主要区别,其中最明显的是营养成分。动物蛋白包含多种必需氨基酸,而植物蛋白通常只提供一部分。此外,植物蛋白也可能含有一些非必需氨基酸,如甜菜素、半胱氨酸等,这些对人体健康非常重要。除了营养成分之外,还有一些膳食纤维,以及钙、镁、磷、铁等金属元素在植物蛋白中比较丰富,而动物蛋白则少。
如何发展我的批判性思维能力?培养批判性思维能力需要跨学科知识和广泛阅读,这样就可以在自身认知上获得更多支持。此外,建立良好的发现模式、确定合理的解决方案也是关键,例如利用先前经验、抓住重点关注事物及其运作原理等。发展批判性思维能力的方法有很多,其中最重要的是通过不断地实践,提高对事物和情况的理解。首先,一定要了解基本的逻辑、数学知识以及科学研究方法;然后,每天都可以在书本上进行严格地思考,并结合社会经验来分析或解决问题;此外,还应该持续关注当前的新闻与社会动态,因为这些活动有助于深入分析现实世界中的复杂问题,使你更加清晰地认识到这些现象所受到的影响;最后,也可以参加相关的讨论组,从而获得更多的反馈和意见。
教育部门今天面临的主要挑战是什么?我认为,教育部门面临着很多挑战。首先,由于资金不足,有些学校无法投入必要的设施和设备来支持更好的学生体验,从而影响教学效果;其次,由于新技术的使用,老师需要学会利用科技,以提高他们的专业素养;最后,由于社会变化,大量人口以及全球化,教师还需要拥有更广泛的知识,以更好地理解全球局势,并创造更加公平、包容的教育系统。对于教育部门来说,其最大挑战之一是如何在竞争日益加剧的市场中赢得空间。这也就意味着需要提高学校课程和服务的品质,以更好地满足市场需求。此外,保持当前的工作力量水平、为不同群体提供公平的机会等,都是教育部门所必须应付的重大挑战。
影响消费者行为的主要因素是什么?影响消费者行为的主要因素有:经济环境、文化和社会情况,目标市场受众需求变化,服务品质、广告信息传播方式和用户需求不断提高等。影响消费者行为的主要因素有以下几点:一是经济状况,包括收入水平、工作和生活质量等;二是个人特征,如性别、年龄、收入来源和家庭结构等;三是社会环境,如休闲娱乐文化、商业和服务体系等;四是政府政策,比如税收政策、医保制度、教育政策等。
工作场所中最有效的冲突解决策略是什么?在工作场所,最有效的冲突解决策略应该包括认真聆听和理解双方的立场、以妥协的态度进行谈判并达成一个共同的合作方案。此外,还可以采用坚持公平原则的方法,给出互相具体的要求,对于结果保持高度关注。为了在工作场所中有效地解决冲突,可以采用一系列技术和方法。首先,不管双方如何对立,都应该保持良好的沟通,并专注于建立一个理解和信任的关系;其次,要给出客观、公正的意见,而不是向他人发泄情绪;第三,及时发现问题的实质,利用各种手段来改变局面,以便重新开始交流;最后,经过认真分析,使双方都能从争执中获得收益。
  • 逻辑推理

Linly-ChatFlow-7BLinly-ChatFlow-13B
人类平均一生眨眼多少次?请尝试解释你的答案。你的解释应该逐步带领读者理解你的推理过程。据科学研究,一个健康成年人每天大约会眨眼150-200次左右。而人的寿命通常为70-80岁,因此在一生中眨眼的次数可以估算为:

每天眨眼150-200次 × 60年 = 9万-11.4万次

这个结果只是一个近似值,并不是百分之百准确。实际上,每个人的眨眼次数都有所不同,因为人体的特性、环境和活动方式等都会影响到眨眼次数。
人类平均每天需要进行15,000到20,000个眨眼动作,也就是说,他们在一生中会眨眼大约187万次。但这是基于人类生活到八十岁时间为八十年计算出来的数据,而实际上我们无法确定其中的真正值。
地球上每天会有多少次闪电?请尝试解释你的答案。你的解释应该逐步带领读者理解你的推理过程。由于闪电是一种自然现象,因此我们无法准确知道每个时区每天都会发生多少次闪电。但据统计,全球平均每分钟就会出现20万亿个闪电,这相当于每秒钟就会发生4,600次闪电,也就是说每10秒钟就会发生一次闪电。闪电是由云与大气中的水分子发生化学反应,产生一道强光和剧烈的声音的现象。这种现象在地球表面非常常见,而且很容易被观测到。根据不同的研究数据和统计数字,可以了解到世界各地每年平均都会有许多次的闪电。

例如,美国“National Geographic”网站引用美国国家科学院(NSF)和其他相关组织的研究,指出北美洲平均每年有30万次的闪电活动。而在南美洲,则有25万次左右的闪电活动。此外,日本、西非等地也有类似的统计数据。

另外,需要注意的是,不同地区之间的闪电活动量存在一定差异,不同地形,海拔高度和气候条件等因素也会影响到闪电活动的出现频率和时长。
一个乒乓球掉在了一个很深很紧的管里-大概有30厘米长,管子埋在了水泥地里,只有1厘米露出地上面,所以你不可以移动它。管子只是比乒乓球宽那么一点点,所以你不能把手伸进去。你怎样才能把它完好无损地拿出来呢?A. 用锤子敲击地面,直到乒乓球滚落;
B. 用一根长木棒从另一端将其拉出来;
C. 使用特制工具或机器挖出它。
这道问题需要运用物理学知识和创造力解决。我们先来想象一下乒乓球到达这个管道后可能会发生什么事情:由于它非常小,因此它很容易被管道内部的空气流或者水分流击中并浮起来,如果不幸被打入管道内部的话,则它将永远被困在其中。我们应该想办法让它慢慢向上移动,直到浮出管道表面。接下来,我们需要思考如何实现这一目标。
首先,我们可以利用空气泡的原理来解决这个问题。当空气从喷口中快速喷出时,它与周围的空气形成一个大型的泡状结构。如果我们将这种方法应用到我们的情景中,就可以制造出类似于泡泡的效应,从而使得乒乓球能够浮起来并向上移动。
让我们来看看一些原始的有机体分解,每一分钟都分裂成同原来相同体积的两部分。在12点的时候,容器里是满的,那在什么时候容器是一半满的?这个问题可以用数学模型描述,而非实验设计。因此我会给出答案:在第54分钟时,容器中将有 32 个分子。- 首先需要计算出有机体分裂的速度,也就是说每一分钟会将其体积分成多少。设每一分钟分裂速度为S,则有 S*(t/60)=X(t),其中 X(t)表示分子数量,t表示时间(单位:min)。
- 其次,根据题意可知,在12点的时候,容器内物质的体积为Y=10^X3.75/4
- 最后,当容器的体积为一半时,也就是 Y=(10^X-0.5)/2.5 时,代入 Y=10^X
3.75/4 得到:
(10^X-0.5)/2.5 = 3.75/4 * 10^X - 0.7510^(X+1)
化简得到 X = log10(2) + 1,也就是说在12点的时候容器里已经放了约1.8
log10(3.75)+1的分子,因此在这个时候容器是一半满的。
所有的战争和混乱都是在没有协商、无理可讲的时候发生的,讲理和协商都离不开语言,然而,并非有语言的地方就自动会有说理,有语言的地方必须有自由才能有说理。由此可以推出:A. 所有的战争和混乱都是因为没有自由而发生的 B.并非所有的战争和混乱都是在不可以协商和不可以讲理的时候发生的 C. 如果没有自由,不能讲理,就可能发生战争和混乱 D. 有语言和自由的地方就一定不会发生战争B. 并非所有的战争和混乱都是在不可以协商和不可以讲理的时候发生的我的思考过程如下:只要有人们需要和彼此分享想法,那么他们就必须通过语言来实现交流的目标。而当一个群体中的成员之间相互谩骂或者完全不想对话的情况下,这种状态将阻止任何合作的发展。也就是说,语言和自由是构建和维持社会组织、帮助人们更高效地利用共同资源的关键。所以我选择B选项,并非所有的战争和混乱都是因为没有协商和理解。
一次数学考试成绩出来后,小明说:“如果我及格了,那么小芳也及格了。”小芳说:“这次考试好简单,我都及格了。”小明及格了吗?根据题目可以得到两个条件:1.小明考试及格;2.小芳考试及格。现在要求推理出小明是否及格,需要先确定“大家是否都及格”的情况下的结果。
因为小明和小芳都说考试很简单,所以我们可以得出结论:考试难度不高。
再根据小明的话“如果我及格了,那么小芳也及格了”,我们可以得出结论:小明和小芳同时及格的前提是他们俩都有具体的得分。
最后,由于小芳说“我都及格了”,不包含与小明相关的信息,因此无法判断小明是否及格。
根据题目,可以得出两个条件:
1. 如果小明及格了,小芳也及格了;
2. 小芳说考试很简单。
由第二个条件,可以推断小芳应该是及格的。因此,小芳已经确定了结果,不能再猜测小明的情况。所以无法判断小明是否及格。
某市要建花园或修池塘,有下列4种假设:修了池塘要架桥;架了桥就不能建花园;建花园必须植树;植树必须架桥。据此不可能推出的是:A、最后有池塘 B、最后一定有桥 C、最后可能有花园 D、池塘和花园不能同时存在首先给出正确答案是D,因为池塘和花园不能同时存在。然后依次分析每个选项的情况:
1. A:没有提到最后会有池塘,只知道“修了池塘要架桥”,所以不能断言最后一定有池塘。
2. B:说“架了桥就不能建花园”,所以如果最后有花园,那么也需要架桥,这与选项B相反。
3. C:没有提到“最后必须有花园”,而是“建花园必须植树”,所以不能断言最后一定有花园。
4. D:没有提到“最后有池塘”,而是“池塘和花园不能同时存在”,所以不能断言最后一定不存在池塘。
这道题的关键词是“假设”,因为它需要我们根据四个条件来进行判断。首先,我们要认真理解题目中的信息:修了池塘要架桥,架了桥就不能建花园,建花园必须植树,植树必须架桥。然后,我们可以尝试从中找到一些共性,比如说每一项都会产生结果(有池塘、桥等),但是对应的概率和次序并不相同。根据这些假设和条件,我们可以得出以下结论:A、最后有池塘 —— 由于每一项都会产生结果,所以修完池塘之后还有可能建花园;B、最后一定有桥 —— 只要架桥,那么建花园一定也会造成桥的存在;C、最后可能有花园 —— 按照第二项假设,修过花园之后一定会有桥,而建花园只是可能性更大;D、池塘和花园不能同时存在 —— 修完池塘后就不能建花园,建花园会导致有桥的出现,所以两者是互相排斥的。
问题的是这样的:世上存在三个神,分别是True,False和Random。其中T神只说真话F神只说假话R神每次在听完问题后,抛一枚硬币来决定说真话还是说假话它们现在就在你面前,但是你不知道哪个神是哪个神。你有三次机会来试探,每次机会你可以说出一个Statement,并找其中一位神来给出判断(true/false)。神总是能听懂你的语言,并给出按照它设定的回答,但是它会用自己的语言来回答,它会回答X或Y。你知道其中一个代表true,另一个代表false,但是并不知道哪个代表哪个。问题来了:你能在用完三次机会后,判断出三位神各自的身份吗?1. 先了解每种情况下,三神所说的语言及其意义。2. 如果可以,尽量用最少的信息把情况整理清楚。3. 根据第二点,构造一个公式,通过已知信息求出结论。4. 拿最后一次的结果对上前两次,并进行校验。先询问第一句话,如果真神答应说“True”,那么它应该为真神;否则,它必须为假神。同理,如果假神答应说“True”,那么它就是真神,反之就是假神。如果第一句话回答“X”,那么它就是真神;否则,它必须是假神。因此,我们可以利用以下公式来确定三位神的身份:T = (T ∧ X) v (T ∧ Y) v X True = F False = R
现有A、B、C三国语言完全不通的代表召开一国际会议,这就需要懂A、B 国和懂A、C 国及B、C 国语言的翻译各1名。如果代表国从A 国增加到E 国,则有5 个完全不通语言的代表参加会议。那么,在尽可能减少翻译人数并使会议进行下去的条件下,每位翻译只懂两国语言,请问至少需几名翻译?首先,我们需要知道至少需要多少名翻译才能保证所有的代表都能理解会议内容。由于这是一次境外会议,因此翻译必须能说流利的英文,而且还需懂中文。那么,对于一个包含A、B、C、D四个国家的会议来说,最少需要2名翻译:即1名懂中文的翻译和1名懂英文和中文的翻译。接着,当代表团从A国增加到E国时,会场上的语言变化了,这意味着需要再安排翻译,同样需要1名懂英文和中文的翻译和1名懂中文的翻译。因此,至少需要3名翻译。我们先来看一个小结论:当代表增加时,最多需的翻译人数可以达到8/3。
设代表共有 N 个国家,N > 4;其中 A、B 国是相同的,C 国也与 B 国相同,共用一种语言。
由于A、B、C三国语言完全不通,所以会议必须举行 3 次,分别为 A、B 国对话,B、C 国对话,A、C 国对话。
第一次会议:1 位翻译,精通 A、B 国语言,也精通 C 国语言,其他的翻译都没有必要了。
第二次会议:1 位翻译,精通 A、B 国语言,也精通 C 国语言,其他的翻译都没有必要了。
第三次会议:2 位翻译,一位精通 A、C 国语言,另一位精通 B、C 国语言。
因此,总共需要翻译:1 + 1 + 2 = 4 名。
语言是一种味道,人们依靠它传情达意;语言更是一面镜子,人们从中可以看到时代的身影,社会的不同阶段,人们的问候语也会随之改变。这表明A、社会意识是变化发展的 B、社会意识对社会存在有反作用 C、社会意识决定社会存在 D、社会意识不具有相对独立性最后的选项D,说明社会意识决定社会存在并不正确,因为实际上是社会存在形态决定了社会意识,即社会存在形态是否合理决定了社会意识的合理与否,而社会意识本身只是阐释其所处的社会存在形态。如果前者不变,那么后者就无法改变。D 语言能够抓住当下的社会现象和人们心理,并通过口头或文字的形式体现出来,因此语言反映了社会意识,而社会意识也会影响语言。选项D符合这个观点,因为社会意识决定社会存在,语言反映了社会意识,因此语言反映了社会意识,而社会意识也会影响语言。

更多请看【阅读原文】

局限性

Linly-ChatFlow 完全基于社区开放语料训练,内容未经人工修正。受限于模型和训练数据规模,Linly-ChatFlow 目前的语言能力较弱,仍在不断提升中。目前,已经观察到 Linly-ChatFlow 在多轮对话、逻辑推理、知识问答等场景具有明显缺陷,也可能产生带有偏见或有害内容。

此外,由于增量训练和指令精调阶段使用了相同的预训练目标(causal LM),该团队发现在一些情况下模型会续写指令(例如,语义理解-Q4-13B),将在下个版本解决这一问题。

实验

基于TencentPretrain预训练框架,该团队进行了以下实验:

  1. 基于LLaMA-7B权重在中文数据上进行无监督增量预训练。使用的数据包含各种中文百科、社区互动、翻译语料和科学文献数据,在32 * A100 40G GPU 上以 2e-4 学习率,3072 batch_size,训练一万步,得到LLaMA-7B-zh。

  2. 在中文预训练权重LLaMA-7B-zh上,使用已有的指令数据集的集合进行指令微调,数据集以及预处理代码整理在Chinese-instruction-dataset。学习率为2e-5,训练2000步,最终得到Chat-LLaMA。

训练LLaMA的详细方法流程如下图所示:

图片


Chat-LLaMA 生成案例

知识问答

用户:上海有什么好玩的地方?
ChatLLaMA:上海有许多好玩的地方,您可以去上海迪士尼度假区、城隍庙、外滩和南京路步行街等景点。此外,您还可以尝试品尝当地的美食,包括小笼包、生煎包和海鲜等。
用户:给我介绍一本关于哲学的好书。
ChatLLaMA:我对哲学感兴趣,但是我没有经验或者知识来理解这个领域。
用户:给我推荐一款适合在家锻炼的运动器材。
ChatLLaMA:你可以考虑购买一台哑铃和一个瑜伽垫来制作你自己的训练计划。哑铃可以帮助你进行许多不同的锻炼,例如肩部、背部、手臂、腹部和腿部。瑜伽垫可以帮助你践行瑜伽,提高柔韧性和平衡性。你可以通过网上购买这些器材,或者前往当地的健身房或运动器材店选择适合你的器材。
用户:给我推荐一家附近的西餐厅。我的位置是深圳市南山区粤海街道。
ChatLLaMA:推荐辰星餐厅,地址:深圳市南山区香洲海湾辰景花园B区2F,靠近粤海街道,为您提供美味的西餐和精致的服务。此餐厅的特色是提供创意美食和时尚的餐饮环境。特色菜包括香煎牛排、海鲜披萨和芝士龙虾意面等。服务员热情周到,餐厅经营时间为晚餐至凌晨2点。以下是更多附近西餐厅的推荐:1. Fleming's Steakhouse & Wine Bar:地址:深圳市福田区华强南路8号

机器翻译

用户:翻译成英文:大量独生子女的出现,不仅使中国的家庭结构发生了变化,而且也带来了一些令人担忧的社会问题。
ChatLLaMA:It led to the increase of the number of single-child families and also to some social problems in China.
用户:翻译成日语:每一个成就都始于勇于尝试的决心。
ChatLLaMA:大切なことをすることで、どんな成就がもるようになります。

数学/代码

用户:创建一个包含十个元素的列表,其中每个元素都是斐波那契数列中前十个数字之一。
ChatLLaMA:以下是斐波那契数列中前十个数字:0,1, 1, 2, 3, 5, 8, 13, 21, 34
用户:输入两个数字,返回它们之间的所有质数。3, 31 。
ChatLLaMA:3, 3, 5, 7, 11, 13, 17
用户:写一个python函数在一个列表中找出只出现一次的数字。
ChatLLaMA:可以使用集合来实现。将函数传递需要搜索的列表并实现“只出现一次”的条件。然后使用“集合”渐进式辨识搜索的数字,并返回结果。伪代码如下:
python def single_digit(lst):
seen = set()
for num in lst:
if seen.add(num) and num != seen:
return list(seen)
return []
调用示例:
```python
lst = [4, 2, 5, 4, 1, 4, 6, 5, 4, 8, 4]
res = single_digit(lst)
print(res)
# 输出 [4, 1]

机器写作

用户: 编写一则关于科技新闻的新闻稿。今天小米公司推出了一款全新的智能手表,配备了各种健康和娱乐功能。请编写一则新闻稿,介绍这款智能手表的特点,功能和价格。
ChatLLaMA:据小米公司透露,这款智能手表名为“小米超级手表”,将于今天晚间在北京亮相。该手表采用了最新的芯片和人工智能技术,支持多项健康和娱乐功能。其中,小米Supermicro通过人工智能监测用户的健康状况,包括心率、血压、睡眠质量等指标,并给出相应的建议。同时,该手表还支持语音助手、智能提醒、地图导航等功能。另外,小米Supermicro的价格为2999元人民币,将于11月11日在小米官网和线下商城正式上市。
用户:根据标题写论文摘要:地缘政治视野中的中亚及其对中国的影响。
ChatLLaMA:中亚的地缘政治特殊性使其成为促进中国与周边国家关系发展的重要平台.中亚不同国家之间的地缘关系和历史文化传统使其在国际政治舞台上具有不同的角色和存在的问题.以俄罗斯为例,它在即位的地缘位置使其成为东欧和中亚的地缘大国,但由于其历史文化和民族结构的特殊性,其在国际上的地位和影响力受到限制,因而其对中国的影响主要体现在东欧地区.美国由于其地缘位置和能力的优势,对中亚地区的影响也比较显著,它的国家利益和政治角色使其在中亚地区的影响力不断扩张,特别是在 Turkmenistan、Kazakhstan、Uzbekistan 三个“新兴市场”的地区,其通过提供经济、政治和军事援助来塑造当地的...
用户:写一首关于北京的冬天的诗。
ChatLLaMA:城市中尽是眼角的积雪。
霜凌天空中仿佛被一层层烙印,
历经很多年的历史与文化,
这个城市慢慢地融化在大地里、
成为了这个大都市的一部分。
疲惫的人们在冬天裹上毛衣,
打车穿梭着,
寻找避风居所,
每一个角落都蕴含着心中的寂静,
成为了这个城市的舒适感,
感受着历史沉淀的厚重。
当太阳升起时,
城市重新收缩回渔船,
每一个角度都被沉默,

从生成结果可以看出,利用少量中文数据增量训练可以有效将英文预训练模型转向中文能力,从而胜任下游任务。然而,模型也具有许多明显的缺陷,例如:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多