开箱即用的LLM,遥遥领先!!! --魔搭社区超级详细教程

820 阅读7分钟

前言

今天搞搞魔搭社区,涉及 LLM (大语言模型) , 而基于 LLM 开发的 应用程序开发框架 LangChain


有兴趣可以移步

豆包姐姐成功引起了我对LangChain的注意🤡!

你需要了解的概念

你可以跳过这里 ,魔搭社区遇到的时候再来 看看 😁


ModelScope

ModelScope 是一个开源的模型即服务(MaaS)平台,它提供了一站式的人工智能模型开发、训练、评估和部署解决方案。这个平台包含了大量的预训练模型,涵盖自然语言处理、计算机视觉、语音等多个领域,方便开发者快速调用和应用这些模型来构建自己的 AI 应用。

丰富的模型库 例如在自然语言处理领域,有预训练的语言模型,像 Transformer 架构的模型,可以用于文本生成、机器翻译、情感分析等任务。以文本生成为例,开发者可以利用 ModelScope 中的预训练模型,通过简单的接口调用,输入一些起始文本,就能快速生成后续的文本内容

NoteBook(Jupyter Notebook 或其他类似的交互式笔记本环境)

Notebook 一种基于网页的交互式计算环境,它允许用户将代码、文本、数据可视化等内容组合在一个文档中。Jupyter Notebook 是最常见的一种,它支持多种编程语言,如 Python、R、Julia 等。

代码与文档一体化 用户可以在一个 Notebook 中编写代码块,并且在代码块旁边添加解释性的文本,说明代码的功能和目的。例如,在进行数据分析时,可以先写一段 Python 代码来读取数据文件,然后在旁边的文本单元格中描述数据的来源和格式。

交互式执行 代码块可以逐个执行,并且立即看到执行结果。这样在开发和调试过程中非常方便,比如在构建机器学习模型时,可以逐步运行数据预处理、模型训练、模型评估等步骤,每一步都能查看中间结果,如数据的统计信息、模型训练过程中的损失值变化等。

数据可视化支持 可以方便地将数据可视化结果嵌入到 Notebook 中。比如在分析股票价格数据时,使用 Matplotlib 或 Seaborn 等可视化库在 Notebook 中绘制股票价格走势图、成交量柱状图等,并且可以将这些图表和相关的数据分析代码、说明文本放在一起,形成一个完整的分析报告

CPU & GPU

CPU 是计算机的核心组件,主要负责执行计算机程序的指令,进行数据处理、逻辑运算、控制输入输出等操作。它可以看作是计算机的 “大脑”,协调和管理计算机的各个部分。

GPU 最初设计用于加速图形渲染任务,如在游戏中快速绘制复杂的 3D 场景、处理视频的渲染等。随着技术的发展,GPU 在通用计算领域,特别是在处理大规模并行计算任务方面发挥了巨大的作用

Launcher

Launcher 可以是一个脚本、一个可执行程序或者是一个软件框架中的组件,用于启动应用程序的主进程或者一系列相关的进程。

大语言大模型 LLM(Large Language Model)

这里的 Large 是指参数规模

那参数规模是什么?

答: 是指LLM 训练出来的参数 。

图中就是用于模型训练的参数规模比如 32B ,这里的 B 是指 billion

传统开发

输入->code(编程)->输出

最酷的开发模式

输入(prompt) -> LLM(大模型) -> 输出

我们发现传统 code 部分已经可以通过 LLM 来实现了,并且是轻松实现。

魔搭社区

国内最大 AI 模型开发平台,国内最大的开源大模型社区

网址 : 模型库首页 · 魔搭社区 (modelscope.cn)

开启魔搭之旅教程


  1. 选择模型库

  1. 点击查看 NoteBook 进入 Launcher

  1. 来到免费的云端 AI 环境

  1. 点击 py3 启动!!!

  1. 来到编程区,开撸!!!

撸码

导入库

    # 遥遥领先

    # 模块化 使得复用 , 职责分离
    from modelscope.pipelines import pipeline 

    # 工具库中的常量
    from modelscope.utils.constant import Tasks

打印 Tasks

 print(Tasks)

开启通道(情感分析)

    # 情感分析 文本分类

    # 自然语言处理结构化情感分析
    semantic_cls = pipeline(Tasks.text_classification,
                            'damo/nlp_structbert_sentiment-classification_chinese-base')

代码分析

  1. pipeline( 参数 1, 参数 2) 打开管道
  2. 参数 1: 选择一项任务 Tasks.text_classification
  3. 参数 2: 选择模型 'damo/nlp_structbert_sentiment-classification_chinese-base'

测试 开启的通道

  • thank_you
    result = semantic_cls(input='thank_you')
    print(result)

  • 遥遥领先
    result2 = semantic_cls(input='遥遥领先')
    print(result2)

  • 遥遥领先!遥遥领先!遥遥领先!

    result3 = semantic_cls(input='遥遥领先!遥遥领先!遥遥领先!')
    print(result3)

  • 以前没钱开宝马,现在是没钱,买宝马.

    result4 = semantic_cls(input='以前没钱开宝马,现在是没钱,买宝马.')
    print(result4)

  • 以前没钱开宝马,现在是没钱买宝马.
    result5 = semantic_cls(input='以前没钱开宝马,现在是没钱买宝马.')
    print(result5)

这里是因为大模型是预训练好的,所以对于这个问题就很难解决

    summarize = pipeline(
         task = Tasks.extractive_summarization ,
         model = 'damo/nlp_ponet_extractive-summarization_doc-level_chinese-base'
    )

    result = summarize(documents='移动端语音唤醒模型,检测关键词为“小云小云”。模型主体为4层FSMN结构,使用CTC训练准则,参数量750K,适用于移动端设备运行。模型输入为Fbank特征,输出为基于char建模的中文全集token预测,测试工具根据每一帧的预测数据进行后处理得到输入音频的实时检测结果。模型训练采用“basetrain + finetune”的模式,basetrain过程使用大量内部移动端数据,在此基础上,使用1万条设备端录制安静场景“小云小云”数据进行微调,得到最终面向业务的模型。后续用户可在basetrain模型基础上,使用其他关键词数据进行微调,得到新的语音唤醒模型,但暂时未开放模型finetune功能。')

    print(result)
    

今天就到这里 , 后续我将带来更劲爆的, 下次继续一起撸码 ~~~😎

模型种类

  • 通用大模型

我们日常使用的就是通用大模型, 它的一个问题是不能够准确回答专业领域的问题。

  • 垂直大模型

在某个领域能够有精准且详细的回答,能够在该领域推理

比如

1.  法律大模型
2.  金融大模型
3.  ...

之前在网上冲浪的时候遇到了教育的大模型---(九章大模型)

感觉很酷, 考试周速成线性代数的时候来搞搞他🤡

了解模型训练

模型训练完后就不成长了,新的知识没有进行训练 ,不太准确。

这个就是生动的例子.

这个时候就需要"喂数据",或者对数据进行标注, 让模型认识到 "以前没钱开宝马,现在是没钱,买宝马" 这句话里面有多少心酸💩!

为什么要学习 LLM

我说说我的理由

端模型时代到来