什么是大模型
大模型(也称“大语言模型”,LLM)是基于深度学习的人工智能系统,通过超大规模参数(数十亿至数千亿)和海量文本数据(书籍、网页、代码等)训练而成。其核心能力是理解与生成人类语言,广泛应用于文本创作、代码编写、多模态交互等领域。
主要分类
- 语言大模型(如GPT、BERT):专注文本处理。
- 语音大模型(如Whisper):实现高准确率语音识别与合成。
- 图像/视频处理大模型(如Stable Diffusion、Sora):生成或理解视觉内容。
- 多模态大模型(如GPT-4o):融合文本、图像、音频等多维度信息。
技术原理
- 架构基础:采用Transformer架构,通过编码器-解码器或仅解码器结构处理序列数据。
- 核心机制:
- 自注意力机制:捕捉输入文本中不同位置的关联,实现长距离依赖建模。
- 预训练目标:通过自监督学习(如预测被遮掩的单词)学习通用语言表示。
- 训练流程:在大量无标注数据上预训练,再通过特定任务微调(如监督学习、强化学习)。
- 能力本质:基于统计模式预测文本,非真正“理解”语义,但能模拟逻辑与推理。
技术边界:
当前模型仍存在事实性错误(幻觉)、偏见放大等问题,需结合人类监督与知识库校验。
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:官网一键安装(推荐)
- 打开Ollama官网:https://ollama.com/download/linux;
- 复制页面提供的一行安装命令(本质是脚本自动化部署),在Linux终端执行即可。
方式2:手动下载安装包
若网络受限或需离线部署,可手动下载对应安装包:
- 安装包地址:https://ollama.com/download/ollama-linux-amd64.tgz(AMD64架构Linux系统适用);
- 下载后解压并配置环境变量,即可完成部署。
四、启动Ollama并运行大模型
Ollama部署完成后,需通过命令行启动服务、拉取模型并运行交互。
步骤1:启动Ollama服务
打开终端,依次执行以下命令启动服务并查看状态:
sudo systemctl start ollama # 启动Ollama后台服务
sudo systemctl status ollama # 查看服务运行状态(确认是否active)
步骤2:拉取大模型
首次使用某模型时,需先通过 ollama pull 命令下载模型文件(后续使用无需重复拉取)。
示例:拉取deepseek-r1:7b和qwen2: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)
七、总结与拓展
本次学习覆盖了本地大模型应用的三大核心环节:
- 硬件层:通过CUDA激活GPU算力,为模型推理提供硬件支撑;
- 模型层:用Ollama简化大模型的下载、管理与调用,降低本地部署门槛;
- 应用层:借助Streamlit快速将模型能力转化为可视化Web界面,实现“技术→产品”的落地。
拓展方向
- 模型优化:尝试量化模型(如
ollama pull deepseek-r1:7b-q4_K_M)减少显存占用; - 界面增强:结合Streamlit的
st.file_uploader实现文档上传分析,或用st.plotly_chart展示模型输出的结构化数据; - 性能监控:通过
nvidia-smi实时监控GPU利用率,优化模型并发调用策略。
通过以上步骤,即可在本地搭建一套“GPU加速+大模型推理+Web交互”的完整AI应用链路,为后续个性化开发(如私有知识库、行业模型微调)奠定基础。