NDLSLM_0.8B-beta-base

我要开发同款
匿名用户2024年07月31日
23阅读
所属分类ai、Ndl、Pytorch、NDLSLM-beta
开源地址https://modelscope.cn/models/Ndlcwx/NDLSLM_0.8B-beta-base

作品详情

NDLSLM_0.8B-beta-base

介绍

NDLSLM_0.8B-beta-base:此模型是基于约230亿左右的tokens训练的语言模型,其框架依赖于transformer-decoder only,此模型的具体结构为:

预训练数据主要为天工数据集、百度百科、维基百科中文、维基百科英文以及github代码等。

此模型主要有以下特点:

  1. 训练语料:即使该版本模型训练的语料较少,但支持中文以及英文包括代码的训练。
  2. 自己训练分词模型:本次预训练并没有采用其他开原模型,而是从零开始训练的分词模型,词表规模不大,为60930,语料库基本上是采样的天工数据集以及维基百科中英文、github代码。
  3. 模型配有详细注释以及RMSNorm使用了flash-attention:本次代码模型参考了transformers库中的llama2开源代码以及通义千问开源代码,代码的细节基本上在文件中有标注,并且配置了flash-attention,目前解决了在RMSNorm归一化上使用了flash-attn,但在self-attention上并没有使用成功,希望在未来能够解决这个问题,以此能够提高训练效率。
  4. 增量预训练:相比于NDLSLM_0.8B-base,该模型增量预训练的token数量大约增加了50亿左右,其实可以继续训练,但个人算力有限,无法支持后续的训练,因此只能训练到此beta版本。

要求环境

  • python 3.8及以上版本
  • pytorch 2.0及以上版本
  • 建议使用CUDA 11.4及以上(GPU用户、flash-attention用户等需考虑此选项)

pip安装

运行NDLSLM_0.8B-beta-base,请确保满足上述要求,再执行以下pip命令安装依赖库

pip install transformers==4.39.3 accelerate flash-attn 

推荐安装flash-attn的步骤:(如果没有安装此模型也可以运行,安装了推理会更快一些。)

git clone https://github.com/Dao-AILab/flash-attention
cd flash-attention && pip install .
# 下方安装可选,安装可能比较缓慢。
# pip install csrc/layer_norm
# pip install csrc/rotary


快速使用

您可以通过以下代码轻松调用:

from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfig
tokenizer = AutoTokenizer.from_pretrained("Ndlcwx/NDLSLM_0.8B-beta-base", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Ndlcwx/NDLSLM_0.8B-beta-base", device_map="auto", trust_remote_code=True).eval()
from transformers import GenerationConfig
gen_config = GenerationConfig(
    temperature=0.9,
    top_k=30,
    top_p=0.5,
    do_sample=True,
    num_beams=1,
    repetition_penalty=1.3,
    max_new_tokens=400,
    eos_token_id=tokenizer.eos_token_id,
    pad_token_id=tokenizer.pad_token_id,
)
prompt= '黑龙江 、吉林'
import torch
device = 'cuda'
tokend = tokenizer(prompt)
input_ids, attention_mask = torch.LongTensor([tokend.input_ids]).to(
        device
    ), torch.LongTensor([tokend.attention_mask]).to(device)
outputs = model.generate(
        inputs=input_ids, attention_mask=attention_mask, generation_config=gen_config
    )
outs = tokenizer.decode(outputs[0].cpu().numpy())
# outs = outs.replace(prompt,'')
outs = outs.replace('[EOS]','')
print("当前SLM回答:",outs)
'''
黑龙江 、吉林、辽宁等省份,我国人口数量大且分散。
“十二五”期间,中国将加快构建现代产业体系,推进产业结构优化升级和转型升级;同时大力发展绿色经济,提高资源利用效率及综合竞争力;加强能源安全与环境保护领域合作与交流;深化供给侧结构性改革,促进节能减排工作取得新进展。在扩大内需方面,要加大政策支持力度,推动形成全面开放新格局。(完) 【编辑:王诗静】
原标题:中国经济增速放缓 经济增长稳中向好的态势已定?
新华社北京9月14日电(记者刘玉丽)国家统计局16日发布数据显示,2019年10月份全国居民消费价格同比上涨2.4%,涨幅比1-11月份回落0.3个百分点;同比降幅比上月收窄8.7个百分比为6%。其中,城市上涨5.6%、农村上涨4.2%;食品价格上涨12.1%……这都表明我国经济正在进入新常态下的发展模式。“十三五”时期是全面建成小康社会决胜阶段的关键之年,“十四五”规划明确提出,坚持创新驱动发展、协调推进新型城镇化建设、强化科技创新支撑、完善社会治理体系四大任务。《政府工作报告》指出:“实施乡村振兴战略,实现乡村振兴目标。”(新华网发) 据国家卫健委网站消息,2020年全国居民人均可支配收入为223441元,比上年增加179800元和253931元的年均增长率分别高出世界平均水平的近30倍和20倍以上。 《报告》显示,从城乡区域看,城镇常住人口城镇化率由2010年的57.77%提高到2018年的67%。到2030年我国城市化率达到64%,占全社会总人口的15.2%;乡村覆盖率上升至42.8%,较2017年增长18.3百分点左右。(人民日报报道 ) (人民网讯) 国家卫生健康委近日发布的数据显示,截至2015年底,我国城镇居民人均可支配收入达到294660元,比上年增长7.4%(按可比口径计算),增长幅度高于同期国内生产总值增幅,对GDP增长的贡献率达76%,拉动经济增速下降约50个百分点以上。此外,《报告》
'''


NDLSLM_0.8B-beta-base模型参数 (Model)

NDLSLM_0.8B-base模型参数基本情况如下所示:

Hyperparameter Value
numhiddenlayers 12
numattentionheads 16
hidden_dim 1600
vocab size 60930
maxseqlen 512
intermediate_size 7800
use_cache True
rope_theta 10000.0

本模型在位置编码、FFN激活函数和normalization的实现方式上采用了RoPE相对位置编码、SiLU激活函数、RMSNorm(可选安装flash-attention加速); 在自注意力机制计算中支持使用GQA(Group query attention),MQA(Multi-query-attention);支持使用NTK缩放。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论