在线科技成都网站推广公司,驻马店哪家做网站好,外国搜索引擎登录入口,lol小米和谁做的视频网站文章目录 1.前言2.丹摩的配置3.Llama3.1的本地配置4. 最终界面 丹摩 1.前言
Llama3.1是Meta 公司发布的最新开源大型语言模型#xff0c;相较于之前的版本#xff0c;它在规模和功能上实现了显著提升#xff0c;尤其是最大的 4050亿参数版本#xff0c;成为开源社区中非常… 文章目录 1.前言2.丹摩的配置3.Llama3.1的本地配置4. 最终界面 丹摩 1.前言
Llama3.1是Meta 公司发布的最新开源大型语言模型相较于之前的版本它在规模和功能上实现了显著提升尤其是最大的 4050亿参数版本成为开源社区中非常强大的竞争者能够在许多场景下与封闭模型如 OpenAI 的 GPT-4 相媲美。以下是 Llama3.1的一些主要特性
上下文窗口扩展 Llama3.1支持最长 128K tokens 的上下文窗口这使得它能够处理更长的文本内容特别适用于长文档总结和复杂对话场景。多语言支持 Llama 3.1 支持包括英语、西班牙语、法语、德语、意大利语等八种语言的生成和理解功能非常适合全球化应用。增强的推理与工具使用能力 Meta 声称 Llama 3.1 在数学计算、逻辑推理和工具调用方面表现卓越这使其在许多基准测试中表现出色。高效部署与训练优化 通过量化技术将计算从 BF16 缩减到 FP8Llama 3.1 的推理和训练成本显著降低适合单节点服务器的部署。此外它支持监督微调和生成高质量的合成数据。开源与社区支持 Llama 3.1 完全开源开发者可以通过 Meta 平台和 Hugging Face 下载模型并在本地或云端环境中运行充分保障数据隐私与安全。同时Meta 提供了完善的开发工具和生态系统支持例如支持增强的检索生成RAG工作流。
2.丹摩的配置
下面我会从打开丹摩平台开始一步一步的教导大家配置。
首先我们打开丹摩平台然后点击创建实例。 进入下一个页面后点击绿框中的配置。推荐选择按需支付模式。 根据图片选择配置 开始设置镜像平台提供多种基础镜像便于用户快速启动应用。这些镜像都预装了必要的环境和工具用户可以根据需求轻松选择推荐选择绿色框选内容。 创建密钥对密钥对是为了确保安全登录可以自定义名称选择自动生成并将生成的私钥下载到本地计算机。 密钥创建成功后选择新生成的密钥对点击立即创建稍等片刻系统便会成功启动。使用密钥对登录 7.完成 平台提供了可以直接登录的JupyterLab在线入口让你轻松访问和管理实例。 进入终端。
3.Llama3.1的本地配置
环境创建好后。使用以下指令创建新环境
conda activate llama3下面安装llama3.1的依赖
pip install langchain0.1.15
pip install streamlit1.36.0
pip install transformers4.44.0
pip install accelerate0.32.1安装好后下载Llama3.1-88模型由于平台已经预装了。可以直接使用以下指令高速在内网下载。
wget http://file.s3/damodel-openfile/Llama3/Llama-3.1-8B-Instruct.tar完成后进行解压
tar -xf Llama-3.1-8B-Instruct.tarLlama3的配置 创建一个名为llamaBot.py的文件文件内容复杂以下内容
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import streamlit as st# 创建一个标题和一个副标题
st.title( LLaMA3.1 Chatbot)
st.caption( A streamlit chatbot powered by Self-LLM)# 定义模型路径
mode_name_or_path /root/workspace/Llama-3.1-8B-Instruct# 定义一个函数用于获取模型和tokenizer
st.cache_resource
def get_model():# 从预训练的模型中获取tokenizertokenizer AutoTokenizer.from_pretrained(mode_name_or_path, trust_remote_codeTrue)tokenizer.pad_token tokenizer.eos_token# 从预训练的模型中获取模型并设置模型参数model AutoModelForCausalLM.from_pretrained(mode_name_or_path, torch_dtypetorch.bfloat16).cuda()return tokenizer, model# 加载LLaMA3的model和tokenizer
tokenizer, model get_model()# 如果session_state中没有messages则创建一个包含默认消息的列表
if messages not in st.session_state:st.session_state[messages] []# 遍历session_state中的所有消息并显示在聊天界面上
for msg in st.session_state.messages:st.chat_message(msg[role]).write(msg[content])# 如果用户在聊天输入框中输入了内容则执行以下操作
if prompt : st.chat_input():# 在聊天界面上显示用户的输入st.chat_message(user).write(prompt)# 将用户输入添加到session_state中的messages列表中st.session_state.messages.append({role: user, content: prompt})# 将对话输入模型获得返回input_ids tokenizer.apply_chat_template(st.session_state[messages],tokenizeFalse,add_generation_promptTrue)model_inputs tokenizer([input_ids], return_tensorspt).to(cuda)generated_ids model.generate(model_inputs.input_ids,max_new_tokens512)generated_ids [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response tokenizer.batch_decode(generated_ids, skip_special_tokensTrue)[0]# 将模型的输出添加到session_state中的messages列表中st.session_state.messages.append({role: assistant, content: response})# 在聊天界面上显示模型的输出st.chat_message(assistant).write(response)print(st.session_state)
在终端运行以下命令启动streamlit服务server.port可以更换端口
streamlit run llamaBot.py --server.address 0.0.0.0 --server.port 1024服务地址务必指定为0.0.0.0,否则无法通过浏览器访问 最后我们需要把内网端口映射到公网
进入GPU云实例页面。点击操作-更多-访问控制单击添加端口添加streamlit服务对于端口 添加成功后通过访问链接即可打开Llama3.1Chatbot交互界面。
4. 最终界面