当前位置: 首页 > news >正文

网站怎么做域名实名认证网站建设 广州网站建设专业公司

网站怎么做域名实名认证,网站建设 广州网站建设专业公司,wordpress密码忘记了怎么办,保定网络公司网站本文将介绍如何使用llama.cpp在MacBook Pro本地部署运行量化版本的Llama2模型推理#xff0c;并基于LangChain在本地构建一个简单的文档QA应用。本文实验环境为Apple M1 芯片 8GB内存。 Llama2和llama.cpp Llama2是Meta AI开发的Llama大语言模型的迭代版本#xff0c;… 本文将介绍如何使用llama.cpp在MacBook Pro本地部署运行量化版本的Llama2模型推理并基于LangChain在本地构建一个简单的文档QA应用。本文实验环境为Apple M1 芯片 8GB内存。 Llama2和llama.cpp Llama2是Meta AI开发的Llama大语言模型的迭代版本提供了7B13B70B参数的规格。Llama2和Llama相比在对话场景中有进一步的能力提升并且在Safety和Helpfulness的平衡上会优于大部分其他模型包括ChatGPT。重要的是Llama2具有开源商用许可因此个人和组织能够更方便地构建自己的大模型应用。 为了能够在MacBook上运行Llama2的模型推理并且利用到Apple Silicon的硬件加速本文使用llama.cpp作为模型推理的Infra llama.cpp是ggml这个机器学习库的衍生项目专门用于Llama系列模型的推理。llama.cpp和ggml均为纯C/C实现针对Apple Silicon芯片进行优化和硬件加速支持模型的整型量化 (Integer Quantization): 4-bit, 5-bit, 8-bit等。社区同时开发了其他语言的bindings例如llama-cpp-python由此提供其他语言下的API调用。 LLaMA.cpp 项目是开发者 Georgi Gerganov 基于 Meta 释出的 LLaMA 模型简易 Python 代码示例手撸的纯 C/C 版本用于模型推理。所谓推理即是给输入-跑模型-得输出的模型运行过程。 那么纯 C/C 版本有何优势呢 无需任何额外依赖相比 Python 代码对 PyTorch 等库的要求C/C 直接编译出可执行文件跳过不同硬件的繁杂准备支持 Apple Silicon 芯片的 ARM NEON 加速x86 平台则以 AVX2 替代具有 F16 和 F32 的混合精度支持 4-bit 量化无需 GPU可只用 CPU 运行 按照作者给出的数据其在 M1 MacBook Pro 上运行 LLaMA-7B 模型时推理过程每个词token耗时约 60 毫秒换算每秒十多词速度还是相当理想的。 深度神经网络模型在结构设计好之后训练过程的核心目的是确定每个神经元的权重参数通常是记为浮点数精度有 16、32、64 位不一基于 GPU 加速训练所得量化就是通过将这些权重的精度降低以降低硬件要求的过程。 举例而言LLaMA 模型为 16 位浮点精度其 7B 版本有 70 亿参数该模型完整大小为 13 GB则用户至少须有如此多的内存和磁盘模型才能可用更不用提 13B 版本 24 GB 的大小令人望而却步。但通过量化比如将精度降至 4 位则 7B 和 13B 版本分别压至约 4 GB 和 8 GB消费级硬件即可满足要求大家便能在个人电脑上体验大模型了。 LLaMA.cpp 的量化实现基于作者的另外一个库—— ggml使用 C/C 实现的机器学习模型中的 tensor。所谓 tensor其实是神经网络模型中的核心数据结构常见于 TensorFlow、PyTorch 等框架。改用 C/C 实现后支持更广效率更高也为 LLaMA.cpp 的出现奠定了基础。 本地部署7B参数4-bit量化版Llama2 模型下载 为了节省时间和空间可以从TheBloke下载gguf量化格式的Llama2模型。也可以在Meta AI的官网申请Liscense后下载原始模型文件再用llama.cpp提供的脚本进行模型格式转化和量化。本文将使用7B参数4bit量化的版本进行部署 它从TheBloke的huggingface仓库(TheBloke/Chinese-Llama-2-7B-GGUF · Hugging Face)下载 一 使用llama.cpp 项目加载 要在本地CPU上执行LLM我们需要一个本地的GGML格式模型。有几种方法可以实现这一点但最简单的方法是直接从Hugging Face Models存储库下载bin文件。当前情况下我们将下载Llama 7B模型。这些模型是开源的可以免费下载。什么是GGML?为什么是GGML?如何GGML?LLaMA CPP?? GGML是一种用于机器学习的 Tensor 库它只是一个C库可以让你在CPU或CPUGPU上运行LLMs。它定义了一种用于分发大型语言模型LLMs的二进制格式。GGML利用一种称为量化的技术使得大型语言模型可以在消费级硬件上运行。   能直接在本地运行属于你自己的LLaMa2 大模型。注意需要M1或者以上芯片。 xcode-select --install # 确保你下载了Git和C/C git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpp LLAMA_METAL1 make ./main -m ../hug-download/models--TheBloke--Chinese-Llama-2-7B-GGUF/snapshots/f81e959ca91492916b8b6f895202b6d478b8930c/chinese-llama-2-7b.Q4_K_M.gguf -n 1024 -ngl 1 -p 用中文回答上海3日游攻略注意HuggingFace可能有权限要求直接执行会403可以在网页端登录到这个链接直接把模型下载下来放到 刚刚Clone的 llama.cpp 目录下的models目录里面。 LLaMa2本身的模型不支持直接在Window或者Mac机器上调用只能在Linux系统支持N卡。 我们可以基于llama.cpp开源项目来Mac本地运行Llama 2。 它从TheBloke的huggingface仓库(TheBloke/Chinese-Llama-2-7B-GGUF · Hugging Face)下载Llama2 7B Chat的4位优化权重将其放入llama.cpp的模型目录中然后使用Apple的Metal优化器来构建llama.cpp项目。 llama-cpp-python最新版不支持ggmlv3模型如果是ggml 版本请使用 python3 convert-llama-ggmlv3-to-gguf.py --input path-to-ggml --output path-to-gguf (不要有中文路径)脚本在[这里](github.com/ggerganov/ll)下载 可以下载如下LLama2 Chinese模型. 下载方法 from huggingface_hub import snapshot_downloadsnapshot_download(repo_idTheBloke/Chinese-Llama-2-7B-GGUF,repo_typemodel,resume_downloadTrue,max_workers1,allow_patternschinese-llama-2-7b.Q4_K_M.gguf,tokenXXX, cache_dir./) 7B的权重应该可以在拥有8GB RAM的机器上运行但如果你有16GB的RAM会更好。像13B或70B这样的更大模型将需要更多的RAM。 Log start main: build 0 (unknown) main: built with Apple clang version 14.0.0 (clang-1400.0.29.202) for arm64-apple-darwin22.1.0 main: seed 1699179655 llama_model_loader: loaded meta data with 19 key-value pairs and 291 tensors from ../hug-download/models--TheBloke--Chinese-Llama-2-7B-GGUF/snapshots/f81e959ca91492916b8b6f895202b6d478b8930c/chinese-llama-2-7b.Q4_K_M.gguf (version GGUF V2) llama_model_loader: - tensor 0: token_embd.weight q4_K [ 4096, 55296, 1, 1 ] llama_model_loader: - tensor 1: blk.0.attn_q.weight q4_K [ 4096, 4096, 1, 1 ]。。。。。。llm_load_print_meta: rope_finetuned unknown llm_load_print_meta: model type 7B llm_load_print_meta: model ftype mostly Q4_K - Medium llm_load_print_meta: model params 6.93 B llm_load_print_meta: model size 3.92 GiB (4.86 BPW) llm_load_print_meta: general.name LLaMA v2 llm_load_print_meta: BOS token 1 s llm_load_print_meta: EOS token 2 /s llm_load_print_meta: UNK token 0 unk llm_load_print_meta: LF token 13 0x0A llm_load_tensors: ggml ctx size 0.11 MB llm_load_tensors: mem required 4017.18 MB .............................................................................................. llama_new_context_with_model: n_ctx 512 llama_new_context_with_model: freq_base 10000.0 llama_new_context_with_model: freq_scale 1 llama_new_context_with_model: kv self size 256.00 MB llama_build_graph: non-view tensors processed: 740/740 ggml_metal_init: allocating ggml_metal_init: found device: Apple M1 ggml_metal_init: picking default device: Apple M1 ggml_metal_init: default.metallib not found, loading from source ggml_metal_init: loading /Users/apple/PycharmProjects/NLPProject/llama.cpp/ggml-metal.metal ggml_metal_init: GPU name: Apple M1 ggml_metal_init: GPU family: MTLGPUFamilyApple7 (1007) ggml_metal_init: hasUnifiedMemory true ggml_metal_init: recommendedMaxWorkingSetSize 5461.34 MB ggml_metal_init: maxTransferRate built-in GPU llama_new_context_with_model: compute buffer total size 122.63 MB llama_new_context_with_model: max tensor size 177.19 MB ggml_metal_add_buffer: allocated data buffer, size 4018.28 MB, ( 4018.78 / 5461.34) ggml_metal_add_buffer: allocated kv buffer, size 256.02 MB, ( 4274.80 / 5461.34) ggml_metal_add_buffer: allocated alloc buffer, size 116.02 MB, ( 4390.81 / 5461.34)system_info: n_threads 4 / 8 | AVX 0 | AVX2 0 | AVX512 0 | AVX512_VBMI 0 | AVX512_VNNI 0 | FMA 0 | NEON 1 | ARM_FMA 1 | F16C 0 | FP16_VA 1 | WASM_SIMD 0 | BLAS 1 | SSE3 0 | SSSE3 0 | VSX 0 | sampling: repeat_last_n 64, repeat_penalty 1.100, frequency_penalty 0.000, presence_penalty 0.000top_k 40, tfs_z 1.000, top_p 0.950, min_p 0.050, typical_p 1.000, temp 0.800mirostat 0, mirostat_lr 0.100, mirostat_ent 5.000 generate: n_ctx 512, n_batch 512, n_predict 1024, n_keep 0 用中文回答上海3日游攻略 初来乍到的我和同学一星期五点飞去上海7:50分就从虹桥机场坐大巴到了外滩附近一家酒店。第一次出国所以想好好玩一番。1. 第一天晚上住下后第二天一大早就出去转了一天主要逛了南京路步行街老城隍庙人民广场新天地。下午去东方明珠然后回到市区吃晚饭。2. 第三天下午去外滩走走看看看了中华艺术宫博物馆晚上和同学在豫园吃饭。3. 最后一天坐地铁去上海植物园看樱花回酒店后就坐大巴回机场了。第一天早上坐公到了人民广场附近然后就逛南京路步行街。其实也没什么好买的东西主要就是感受一下氛围吧。路上看到各种各样的商铺和美食店还有街头表演卖冰糖葫芦和手鼓 下午去了老城隍庙我和朋友是沿着西门进去了。里面好多小吃摊都是蛮好吃的 后来又到人民广场看了一会儿晚上要坐的大型花车游行。然后就从人民广场走到外滩不过路上还是有点堵车的因为好多人都想走这条路啊而且路边还有很多表演的小吃卖东西什么的所以也挺热闹的 第二天一大早我去了上海博物馆我和同学打算去逛一下中华艺术宫博物馆和东方明珠。不过我们没有时间去看文物展感觉挺丰富的就直接到了二楼看了国画和书法作品展览。然后在一楼看到各种不同时期的中国瓷器陶瓷还有日本的古董什么的好像还挺值钱啊... 中午就在外滩附近的餐厅吃了饭味道还可以 下午先从上博物馆门口坐车去东方明珠不过我和朋友因为没带身份证所以就没票了QAQ 我们又坐公车在陆家嘴附近转了一圈然后去了世纪公园路上看到了各种小摊的后到了世纪公园里面走了很多路感觉人挺多的 最后我们从新天地出来先吃了晚饭后就回酒店休息 第三天我和同学一大早坐地铁去植物园看樱花其实是去拍照而且当天正好是晴朗的好天气我和朋友在门口拍了好多照片然后去了赏樱区走走了一圈。之后又坐地铁回去了 我们的上海行也就这么结束了啊QAQ 哈哈 这次的行程安排比较紧凑感觉时间都用完了...不过在上海转一转还是很有意思的虽然我也吃了很多小吃 现在我就来安利一下我在上海的几个美点吧~ 首先是外滩一带的一些小店和餐厅啦我和朋友在陆家嘴附近的一个餐厅吃饭的时候路过了一家叫做爱侬小屋的网红奶茶店里当时就买了一杯芒果味奶茶去喝感觉还蛮好吃的虽然不是很甜 后来我又去了旁边一家叫云顶之梦的餐厅他家有各种口味的鸡排还有不同品种的烤肉拼盘。不过我们点的是套餐...不过味道还挺不错 然后就是在陆家嘴附近的一个名叫老上海大丸茶室的小店了其实这家茶室是卖奶茶啊我和朋友在那天下午去了他家喝奶茶还买了他们家的招牌甜品芒果布丁~感觉还不错 之后我们又去了外滩边的一家叫做小笼包王的餐厅这里有各种口味的小笼包还有特色小吃哦~不过价格也稍有点贵了... 这次来上海我也发现了好多路边摊啦在陆家嘴附近的一个街上就有很多卖各种风味小吃和饮品的档口。现在就推荐我和朋友当时去的那家的一家吧~他家有一个麻辣烫这个牌子里面还有点类似于小馄饨的东西好像是叫汤圆我们吃得时候觉得还不错虽然看起来有点脏... 除了这些外滩一带的我还去了南京路步行街上的一个叫做云霄楼大酒楼的餐厅这里有各种口味的烤肉套餐还有不同价位的大菜~不过我和朋友当时去吃的是他们家的特色菜包心鲍鱼~感觉味道还蛮不错的呢 除了这些我在外滩一带发现的小店以外我还去了南京路步行街上的一个名叫大福记的老字号餐厅这家餐厅的口味比较传统一些但是我朋友点了他家家常豆腐和葱烧肉还有别的菜我忘了感觉还不错~不过价格就稍微有点贵啦... 最后是这次我们去的那家上海新天地附近的一火锅店吧这里有各种口味的锅底可以选择而且里面还提供自助的小吃。虽然这家餐厅的环境看上去不是很高端啊……但是味道还是不错的呢~下次来上海 llama_print_timings: load time 8380.94 ms llama_print_timings: sample time 2122.12 ms / 1024 runs ( 2.07 ms per token, 482.54 tokens per second) llama_print_timings: prompt eval time 306.62 ms / 10 tokens ( 30.66 ms per token, 32.61 tokens per second) llama_print_timings: eval time 196188.08 ms / 1023 runs ( 191.78 ms per token, 5.21 tokens per second) llama_print_timings: total time 214813.21 ms ggml_metal_free: deallocating Log end二 使用llama-cpp-python 项目加载 llama.cpp是c库用于开发llm的应用往往还需要使用Python调用C的接口。我们将使用llama-cpp-python这是LLaMA .cpp的Python Binding它在纯C/ c中充当LLaMA模型的推理。 首先使用pip安装llama-cpp-python。需要注意的一点是mac安装时要使用支持arm的python版本若没有可以使用conda先创建一个环境如果使用的是x86_64架构的python则在之后运行服务器的时候又会出现Illegal instructions的问题 本文将使用llama.cpp的Python binding: llama-cpp-python在本地部署Llama2模型llama-cpp-python提供了和OpenAI一致的API因此可以很容易地在原本使用OpenAI APIs的应用或者框架 (e.g. LangChain) 中替换为本地部署的模型。 安装llama-cpp-python (with Metal support) 为了启用对于Metal (Apple的GPU加速框架) 的支持使用以下命令安装llama-cpp-python: CMAKE_ARGS-DLLAMA_METALon FORCE_CMAKE1 pip install llama-cpp-python 安装Web server llama-cpp-python提供了一个web server用于提供和OpenAI一直的API从而可以与现有应用和框架兼容。使用以下命令安装web server: pip install llama-cpp-python[server] pip3 install uvicorn pip3 install anyio pip3 install starlette pip3 install fastapi pip3 install pydantic_settings pip3 install sse_starlette pip3 install starlette_context 启动llama-cpp-python web server (带Metal GPU加速) python -m llama_cpp.server --model $MODEL_PATH --n_gpu_layers 1 将$MODEL_PATH替换为你下载的模型的路径。 API文档和尝试 Web server启动后可以通过http://localhost:8000/docs访问OpenAPI文档并尝试API的调用。 可以看到web server提供了类OpenAI的接口 /v1/completions: 提供文本 (String类型)返回预测的下文 (String类型) /v1/embeddings: 提供文本 (String类型)返回文本的embeddings (向量) /v1/chat/completions: 提供对话历史 (一个Messages的序列)返回预测的回答 (Message类型) /v1/models/: 获取语言模型的信息 简单测试一下/v1/chat/completions: 注意到在对话任务中提供一个Message object包含content和role两个字段: content: 消息的文本内容 (String)role: 对话中发出该消息的角色可取system, user, assistant之一。其中system为高级别的指示用于指导模型的行为例如上图的示例中告诉模型: You are a helpful assistant.。user表示用户发送的消息assistant表示模型的回答。 API 通过Llama类提供简单的托管接口。请将./models/7B/ggml-model.bin 换成你的模型的路径下同。 from llama_cpp import Llama llm Llama(model_path./models/7B/ggml-model.bin) output llm(Q: Name the planets in the solar system? A: , max_tokens32, stop[Q:, \n], echoTrue) print(output) {id: cmpl-456ef388-4cff-494b-b721-23492e06e43a,object: text_completion,created: 1699238435,model: ./TheBloke--Chinese-Llama-2-7B-GGUF/chinese-llama-2-7b.Q4_K_M.gguf,choices: [{text: Q: Name the planets in the solar system? A: 水星,金星,地球,天王星,海王星 ,index: 0,logprobs: None,finish_reason: stop}],usage: {prompt_tokens: 15,completion_tokens: 21,tokens: 36} } macbook m1 本地部署llama2模型_Zaldini0711的博客-CSDN博客 在MacBook Pro部署Llama2语言模型并基于LangChain构建LLM应用 - 知乎 (zhihu.com)
http://www.pierceye.com/news/43615/

相关文章:

  • 潮州建设局网站成都住建局官网查询
  • 网站建设费怎么写会计科目虚拟主机建设网站绑定域名
  • 宁波住房建设局网站海口网站建设方面
  • 免费网站推广平台wordpress 元素用处
  • 网站网站开发公司全网推广
  • 广州做网站建设的公司网站域名价格 优帮云
  • flash网站源码带asp后台页面模板的图文封面
  • 设计网站横幅如何为一个网站做app
  • 萍乡网站制作公司企业简历模板
  • 庆阳定制网站o2o网站开发方案
  • 百度多久收录一次网站为什么php做不了大网站
  • 网站如何做进一步优化广州建设企业网站公司
  • 自己做行程的网站wordpress 帝国
  • .me做社区网站微信网站搭建哪家好
  • 济南智能网站建设费用域名解析官网
  • 千海网站建设 小程序网站续费管理系统
  • 3yx这个网站做刷单安徽城乡与建设部网站
  • 做手机网站要注意进销存软件排行榜前十名
  • 湖北网站推广策略网站开发实训报告
  • 企业网站建设系统彩票网站开发彩票网站搭建
  • 如何制作产品网站模板下载国内wordpress主题商
  • 如何申请深圳设计公司网站电商平台如何推广运营
  • 网站空间 支持什么程序支付宝手机网站支付
  • 视频付费网站建设网页设计基础的课程介绍
  • 广州模板建站哪家好手机网站管理系统
  • 网站是怎么做出来的网页制作图片显示不出来
  • 凡科建站官网电脑版wordpress huancun
  • 网站建设合作协议文本android应用开发框架
  • 郑州外贸网站建设公司排名中国人做外贸生意的网站
  • 网站突然打不开是什么原因分类信息网站怎么做流量