大语言模型介绍

什么是大模型

大模型(也称“大语言模型”,LLM)是基于深度学习的人工智能系统,通过超大规模参数(数十亿至数千亿)和海量文本数据(书籍、网页、代码等)训练而成。其核心能力是理解与生成人类语言,广泛应用于文本创作、代码编写、多模态交互等领域。

主要分类

  1. 语言大模型(如GPT、BERT):专注文本处理。
  2. 语音大模型(如Whisper):实现高准确率语音识别与合成。
  3. 图像/视频处理大模型(如Stable Diffusion、Sora):生成或理解视觉内容。
  4. 多模态大模型(如GPT-4o):融合文本、图像、音频等多维度信息。

技术原理

  1. 架构基础:采用Transformer架构,通过编码器-解码器或仅解码器结构处理序列数据。
  2. 核心机制
    • 自注意力机制:捕捉输入文本中不同位置的关联,实现长距离依赖建模。
    • 预训练目标:通过自监督学习(如预测被遮掩的单词)学习通用语言表示。
  3. 训练流程:在大量无标注数据上预训练,再通过特定任务微调(如监督学习、强化学习)。
  4. 能力本质:基于统计模式预测文本,非真正“理解”语义,但能模拟逻辑与推理。

技术边界:

当前模型仍存在事实性错误(幻觉)、偏见放大等问题,需结合人类监督与知识库校验。

AI与人类的关系:

模型作为“工具”,人类负责定义问题、评估结果、引导价值方向。

大模型的发展

阶段一:准备期(2022.12起)

  • 里程碑:ChatGPT发布引爆全球关注,验证大模型潜力。
  • 行业动态:国内科技巨头(百度“文心一言”、阿里“通义千问”等)加速布局。

阶段二:狂追期(2023.06起)

  • 开源突破:Llama2等开源模型降低技术门槛,催生生态繁荣。
  • 百模大战:国内外厂商密集发布模型,应用落地加速(如智能客服、代码生成工具)。
  • 技术优化:MoE(稀疏专家混合网络)等技术创新提升效率。

阶段三:繁荣期(2023.12-2024)

  • 多模态革命:Sora视频生成模型颠覆内容创作,GPT-4o、Claude3.5实现文本、语音、图像融合。
  • 性能跃升:模型在推理、逻辑、上下文理解能力显著增强。

阶段四:深化期(2024.06-至今)

  • 垂直赋能:深入医疗(AI辅助诊断)、金融(量化分析)等场景,打造行业GPTs。
  • 智能体(Agent)进化:结合RAG(检索增强生成)、规划能力,执行复杂任务链。
  • 软硬融合:与端侧硬件结合(如AI手机、智能汽车),推动本地化部署。
  • 挑战浮现:监管政策收紧,模型安全、数据隐私问题引发全球讨论。

总结

大模型是依赖深度学习、通过统计预测处理语言的AI系统,其价值在于辅助人类而非替代。未来需突破幻觉、偏见等瓶颈,并与人类智慧协同,在可解释性、伦理框架下推动技术普惠。

ollama官网: https://ollama.com/

#安装ollama (windows)
irm https://ollama.com/install.ps1 | iex
#linux
curl -fsSL https://ollama.com/install.sh | sh
#查看版本
ollama --version
#运行模型
ollama run qwen:7b
#模型列表
#https://ollama.com/library/qwen
PS C:\Users\raikay> irm https://ollama.com/install.ps1 | iex
>>> Downloading Ollama for Windows...
######################################## 100.0%
>>> Installing Ollama...
>>> Install complete. Run 'ollama' from the command line.
PS C:\Users\raikay> ollama --version
ollama version is 0.30.8

PS C:\Users\raikay> ollama run qwen:1.8b
pulling manifest
pulling 1296b084ed6b:  20% ▕███       220 MB/1.1 GB  4.7 MB/s   3m10s

一、CUDA基础认知

1. CUDA是什么?

CUDA(Compute Unified Device Architecture)是NVIDIA推出的并行计算平台与编程模型,核心作用是利用GPU(图形处理单元)的强大算力加速“计算密集型任务”(如深度学习训练/推理、科学计算等),而非仅用于传统图形渲染。

从架构逻辑看:

  • GPU原本负责图形渲染(如游戏画面输出);
  • CUDA将GPU能力延伸至通用计算任务,让开发者能调用GPU算力解决复杂计算问题。

二、Linux系统下验证CUDA可用性(以WSL为例)

在WSL(Windows Subsystem for Linux)安装Ubuntu后,若已自动配置显卡驱动和CUDA,可通过命令行 nvidia-smi 快速验证环境是否正常。

执行命令与结果解读

终端输入 nvidia-smi 后,需关注的关键字段:

  • Driver Version:显卡驱动版本(如示例中560.94);
  • CUDA Version:CUDA工具包版本(如示例中12.6);
  • 显存信息:如8188MiB表示GPU总显存容量;
  • 若以上信息均正常显示,说明CUDA环境已就绪,可直接使用。

三、Linux系统部署Ollama(本地大模型运行框架)

Ollama是开源的大模型本地部署工具,支持一键下载、管理、运行主流大模型(如DeepSeek、Qwen等)。

方式1:官网一键安装(推荐)

  1. 打开Ollama官网:https://ollama.com/download/linux
  2. 复制页面提供的一行安装命令(本质是脚本自动化部署),在Linux终端执行即可。

方式2:手动下载安装包

若网络受限或需离线部署,可手动下载对应安装包:

四、启动Ollama并运行大模型

Ollama部署完成后,需通过命令行启动服务、拉取模型并运行交互。

步骤1:启动Ollama服务

打开终端,依次执行以下命令启动服务并查看状态:

sudo systemctl start ollama   # 启动Ollama后台服务
sudo systemctl status ollama  # 查看服务运行状态(确认是否active)

步骤2:拉取大模型

首次使用某模型时,需先通过 ollama pull 命令下载模型文件(后续使用无需重复拉取)。
示例:拉取deepseek-r1:7bqwen2:7b两个模型:

ollama pull deepseek-r1:7b
ollama pull qwen2:7b

步骤3:运行模型并交互

通过 ollama run <模型名> 启动模型对话界面,输入问题即可与模型交互:

ollama run deepseek-r1:7b

执行后进入交互式终端,直接输入问题(如“解释量子纠缠”),模型会实时返回回答。

五、Ollama Python库:程序化调用大模型API

Ollama提供Python SDK,可在代码中批量调用模型,实现自动化任务(如批量问答、数据处理等)。

1. 初始化客户端

首先导入库并创建客户端,指定Ollama服务的默认端口(localhost:11434):

import ollama
client = ollama.Client(host='http://localhost:11434')

2. 核心API方法

方法 功能描述 示例代码
list() 列出当前可用的所有模型 models = client.list()
show(model_name) 查看指定模型的详细信息(参数、大小等) info = client.show('deepseek-r1:7b')
ps() 查看当前正在运行的模型进程 running = client.ps()
chat(model, messages) 与模型进行多轮对话 见下方示例

3. 对话示例:单轮/多轮交互

# 构造对话消息列表(role可选"user"/"assistant"/"system")
messages = [{'role': 'user', 'content': '你是谁'}]

# 发起对话请求
response = client.chat(model='deepseek-r1:7b', messages=messages)

# 提取模型回复内容
print(response['message']['content'])

六、Streamlit:快速构建Web交互界面

Streamlit是专为数据科学家设计的Python Web框架,能以极简代码将数据分析、模型交互转化为可视化网页。

1. Streamlit简介

  • 定位:轻量级Web应用开发工具,聚焦“数据展示+用户交互”,无需前端基础即可搭建界面;
  • 优势:代码即界面,修改Python代码后自动刷新网页,迭代效率极高;
  • 官网:https://streamlit.io

2. 安装与启动

(1)安装Streamlit

在终端执行pip命令安装:

pip install streamlit

(2)启动示例应用

Streamlit内置示例应用,可快速体验功能:

streamlit hello

执行后会自动打开浏览器,访问http://localhost:8501,即可看到示例界面(含图表、表单、Markdown等组件演示)。

3. 核心API入门(常用组件)

Streamlit通过函数式API定义界面元素,以下是高频使用的组件:

组件函数 功能描述 示例代码
st.title(text) 添加一级标题 st.title("我的大模型应用")
st.write(content) 输出文本/表格/图表等通用内容 st.write("这是模型的回答:", response_text)
st.sidebar.xxx 在侧边栏添加组件(如按钮、滑块) st.sidebar.button("重新生成")
st.chat_input(prompt) 添加聊天输入框 user_input = st.chat_input("请输入你的问题")
st.chat_message(role) 模拟聊天消息气泡(区分用户/模型) with st.chat_message("user"): st.write(user_input)

4. 实战:结合Ollama搭建对话Web应用

将Ollama的模型调用与Streamlit界面结合,可实现“用户输入→模型回答→界面展示”的完整流程:

import streamlit as st
import ollama

# 初始化Ollama客户端
client = ollama.Client(host='http://localhost:11434')

# 页面标题
st.title("本地大模型对话助手")

# 聊天历史存储(用session_state持久化)
if "messages" not in st.session_state:
    st.session_state.messages = []

# 展示历史对话
for msg in st.session_state.messages:
    with st.chat_message(msg["role"]):
        st.write(msg["content"])

# 用户输入框
if user_input := st.chat_input("请输入问题"):
    # 记录用户消息
    st.session_state.messages.append({"role": "user", "content": user_input})
    with st.chat_message("user"):
        st.write(user_input)

    # 调用Ollama模型获取回答
    response = client.chat(model="deepseek-r1:7b", messages=[{"role": "user", "content": user_input}])
    model_reply = response["message"]["content"]

    # 记录模型回答
    st.session_state.messages.append({"role": "assistant", "content": model_reply})
    with st.chat_message("assistant"):
        st.write(model_reply)

七、总结与拓展

本次学习覆盖了本地大模型应用的三大核心环节

  1. 硬件层:通过CUDA激活GPU算力,为模型推理提供硬件支撑;
  2. 模型层:用Ollama简化大模型的下载、管理与调用,降低本地部署门槛;
  3. 应用层:借助Streamlit快速将模型能力转化为可视化Web界面,实现“技术→产品”的落地。

拓展方向

  • 模型优化:尝试量化模型(如ollama pull deepseek-r1:7b-q4_K_M)减少显存占用;
  • 界面增强:结合Streamlit的st.file_uploader实现文档上传分析,或用st.plotly_chart展示模型输出的结构化数据;
  • 性能监控:通过nvidia-smi实时监控GPU利用率,优化模型并发调用策略。

通过以上步骤,即可在本地搭建一套“GPU加速+大模型推理+Web交互”的完整AI应用链路,为后续个性化开发(如私有知识库、行业模型微调)奠定基础。