北交大开源交通大模型TransGPT·致远

TransGPT是国内首款开源交通大模型,主要致力于在真实交通行业中发挥实际价值。它能够实现交通情况预测、智能咨询助手、公共交通服务、交通规划设计、交通安全教育、协助管理、交通事故报告和分析、自动驾驶辅助系统等功能。TransGPT作为一个通用常识交通大模型,可以为道路工程、桥梁工程、隧道工程、公路运输、水路运输、城市公共交通运输、交通运输经济、交通运输安全等行业提供通识常识。以此为基础,可以落脚到特定的交通应用场景中。

  • 模型:TransGPT-7B,TransGPT-MM-6B
  • 代码:基本训练和推理代码,
  • 数据:
    • ~34.6万条文本数据(用于领域内预训练)
    • ~5.8万条对话数据(用于微调)
  • 开源免费可商用:不仅对学术研究完全开放,仅需邮件申请并获得官方商用许可后,即可以免费商用。

最新发布

目录

开源数据集

交通领域数据集

  • 领域数据源包含两个部分:
内容下载地址备注
领域预训练数据集pretrain_data非对话数据集
领域微调数据集finetune_data对话式数据集
  • 数据来源

    a. 单模态

北交大开源交通大模型TransGPT·致远

   b. 多模态

    i. 交通标志大全
ii. 驾考题库
iii. 全球旅游景点

  • 对话数据生成方法

    1. 从pdf、docx,doc格式文件中提取文档
    2. 利用LLM根据文档生成对话数据

    具体链接 -> LLMforDialogDataGenerate

通用预训练数据集

SFT datasets

Reward Model datasets

功能及示例输出

  1. 交通安全教育:交通大模型可以用于生成交通安全教育材料,如安全驾驶的建议、交通规则的解释等。

北交大开源交通大模型TransGPT·致远

  1. 智能出行助手:在车辆中的智能助手可以使用大型交通大模型来理解和生成更自然、更复杂的对话,帮助驾驶者获取路线信息、交通更新、天气预报等。自动回答关于公共交通服务的问题,如车次、票价、路线等。这可以提高服务效率并提升乘客体验。

北交大开源交通大模型TransGPT·致远

  1. 交通管理:通过实时监测和分析车辆、道路、信号灯等信息,协助智能协调交通流量,减少交通拥堵。分析社交媒体或新闻报道中的文本信息,预测交通流量、交通堵塞或事故的可能性。同时,该模型能分析交通事故历史和特征,给出相应对策和方案,减少交通事故的发生。

北交大开源交通大模型TransGPT·致远

  1. 交通规划:交通大模型可以帮助分析公众对于交通规划提案的反馈和意见,提供决策者更全面的信息。

北交大开源交通大模型TransGPT·致远

  1. *交通事故报告和分析:交通大模型可以帮助快速理解和分类交通事故报告,提供事故原因的初步分析。

北交大开源交通大模型TransGPT·致远

  1. 交通政策研究*:大型交通大模型可以用于分析公众对于交通政策的反馈,或者生成关于交通政策影响的报告。这可以帮助政策制定者更好地了解政策的实际效果。

北交大开源交通大模型TransGPT·致远

多模态

  • 交通标志

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

  • 交通规则

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

  • 景点

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

北交大开源交通大模型TransGPT·致远

评测

我们在交通 benchmark 上进行了zero-shot评测,评测了交通情况预测 | 智能助手 | 公共交通服务 | 交通规划 | 交通安全教育 |事故报告和分析等方面的性能,使用GPT-4和人工评测。结果如下:

交通情况预测 交通规划 交通安全教育 事故报告和分析
TransGPT-7B 1.33 9.95 9.84 3.50

模型下载

模型下载链接备注
TransGPT-7BDUOMO-Lab/TransGPT-v0Fine-tuned on the instruction-tuning data from part of our data
TransGPT-MM-6B-v0DUOMO-Lab/TransGPT-MM-v0Fine-tune, Inference and DEMO refer to MM
TransGPT-MM-6B-v1DUOMO-Lab/TransGPT-MM-v1Fine-tune, Inference and DEMO refer to MM

DEMO

说明:

  • 线上使用测试连接
  • 借助Gradio生成的简单demo,需要注意可能的掉线风险
  • 部署资源有限,人多后会有爆显存风险

环境部署

环境配置

创建conda环境:

conda env create -f environment.yml
conda activate transgpt

训练和推理

Pretraining

Data

Script

conda activate transgptsh pt.sh

Instruction Tuning

Script

conda activate transgptsh sft.sh

说明:

推荐GPUs

  • Pre-training: 8xA100 (80G)
  • Instruction Tuning: 8xA40 (45G)
  • Inference:

Install package:

pip install sentencepiecepip install transformers>=4.28.0
import torchimport transformersfrom transformers import LlamaTokenizer, LlamaForCausalLMdef generate_prompt(text):    return f"""Below is an instruction that describes a task. Write a response that appropriately completes the request.### Instruction:{text}### Response:"""checkpoint="DUOMO-Lab/TransGPT-v0"tokenizer = LlamaTokenizer.from_pretrained(checkpoint)model = LlamaForCausalLM.from_pretrained(checkpoint).half().cuda()model.eval()text = '我想了解如何申请和更新驾驶证?'prompt = generate_prompt(text)input_ids = tokenizer.encode(prompt, return_tensors='pt').to('cuda')with torch.no_grad():    output_ids = model.generate(        input_ids=input_ids,        max_new_tokens=1024,        temperature=1,        top_k=20,        top_p=0.9,        repetition_penalty=1.15    ).cuda()output = tokenizer.decode(output_ids[0], skip_special_tokens=True)print(output.replace(text, '').strip())

LangChain版本:

import osimport torchfrom langchain.llms import HuggingFacePipelinefrom transformers import LlamaTokenizer, LlamaForCausalLM,pipelinefrom langchain import PromptTemplate,LLMChainfrom langchain.agents import load_tools, initialize_agent, AgentType, ZeroShotAgent, AgentExecutoros.environ["SERPAPI_API_KEY"]="your_key"os.environ["CUDA_VISIBLE_DEVICES"]="0"template = """Below is an instruction that describes a task. Write a response that appropriately completes the request.### Instruction:{question}### Response:"""prompt = PromptTemplate(template=template,input_variables=["question"])checkpoint='DUOMO-Lab/TransGPT-v0'tokenizer = LlamaTokenizer.from_pretrained(checkpoint)model = LlamaForCausalLM.from_pretrained(checkpoint).half().cuda()model.eval()pipe = pipeline(    "text-generation",    model=model,    tokenizer=tokenizer,    max_length=1024,    device="cuda:0",    temperature=1,    top_k=20,    top_p=0.9,    repetition_penalty=1.15)#加载工具local_llm = HuggingFacePipeline(pipeline=pipe)tools = load_tools(["serpapi"], llm=local_llm)llm_chain = LLMChain(llm=local_llm, prompt=prompt)agent = ZeroShotAgent(llm_chain=llm_chain, tools=tools, verbose=True)agent_chain = AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True, handle_parsing_errors=True)s="我想了解如何申请和更新驾驶证?"response = agent_chain.run(s)

Logo由DreamStudio生成🙏.

声明

我们强烈呼吁所有的使用者,不要利用TransGPT模型进行任何危害国家社会安全或违法的活动。除此之外,我们也要求使用者不要将TransGPT模型用于未经适当安全审查和备案的互联网服务。我们理解科技的发展必须在规范和合法的环境下进行,因此我们希望所有的使用者都能积极遵守这个原则。 我们已经尽我们所能,确保模型训练过程中所使用的数据的合规性。然而,尽管我们做出了巨大的努力,但由于模型和数据的复杂性,仍有可能存在一些无法预见的问题。因此,我们建议使用者在使用TransGPT开源模型时要谨慎行事,并遵循一些基本的安全准则,如加强数据备份、限制数据访问权限等。 当前模型可能存在生成幻觉、误导性、或歧视性内容。请谨慎使用TransGPT系列模型生成的内容,请勿将生成的有害内容进行传播。 如需将模型公开使用或者商用,模型服务所产生的不良影响或者有害言论由服务方负责,本项目开发者不承担任何因使用本项目(包含但不限于数据、模型、代码等)导致的危害或损失。 此外,我们认为,开源技术的发展需要整个社区的努力和共同维护。如果你在使用TransGPT模型的过程中发现了任何问题或有任何建议,欢迎与我们联系。我们希望通过与广大用户的合作和交流,不断提升TransGPT模型的质量和安全性,并为开源技术的长远发展做出贡献。 最后,鉴于模型和数据的复杂性,如果由于使用TransGPT开源模型而导致任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,我们将不承担任何责任。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/314584.html

(0)
上一篇 2024年8月26日 11:09
下一篇 2024年9月23日 13:22

相关推荐

发表回复

登录后才能评论