paint-brush
如何开办自己的本地法学硕士 (2024 年更新)经过@thomascherickal
17,191 讀數
17,191 讀數

如何开办自己的本地法学硕士 (2024 年更新)

经过 Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

本文提供了有关在本地使用 Hugging Face Transformers、gpt4all、Ollama 和 localllm 等生成式 AI 模型的详细指南。了解如何利用 AI 的力量实现创意应用和创新解决方案。

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 如何开办自己的本地法学硕士 (2024 年更新)
Thomas Cherickal HackerNoon profile picture
0-item

摘自https://wallpapers.com/wallpapers/theoretical-physics-green-particles-ht1c16rgtu5ilkhc.html


这是生成式人工智能的突破之年


好吧,至少可以这么说,今年我在如何在本地运行 LLM 模型方面有很多选择。


开始吧:


1)HuggingFace Transformers:

所有图片均由 Bing Image Creator 创建

要在无互联网访问的情况下离线运行 Hugging Face Transformers,请按照以下步骤操作:安装 Transformers 及其必要的依赖项,同时确保在安装过程中不依赖自动更新。您可以按照 Hugging Face 文档中的说明通过 pip 或 conda 安装


pip install transformers==4.xy

从 Hugging Face Hub 下载预训练模型后,在本地机器上通过互联网加载这些模型。使用 save_pretrained() 保存模型,然后稍后在离线模式下加载它。

 from transformers import AutoModelForSequenceClassification, BertTokenizerFast

首次下载并保存模型

model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") model.save_pretrained("/my/local/directory/bert-base-uncased")

稍后离线加载保存的模型

model = AutoModelForSequenceClassification.from_pretrained("/my/local/directory/bert-base-uncased") tokenizer = BertTokenizerFast.from_pretrained("/my/local/directory/bert-base-uncased")


设置环境变量TRANSFORMERS_OFFLINE 和 HF_DATASETS_OFFLINE 以启用离线使用。

 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1

如果您不想下载单个文件,请直接克隆模型存储库。


 git clone https://huggingface.co/<username>/<repository> /my/local/directory


确保所有必要的文件都存在于您计划执行脚本的目录中。请记住,如果模型尚未在本地可用,则仅将 TRANSFORMERS_OFFLINE 设置为 1 是行不通的。您必须通过互联网下载模型并将其保存在本地,或者克隆模型存储库。




2) gpt4all


gpt4all是一个开源项目,允许任何人访问和使用 GPT-3 等强大的 AI 模型。以下是安装和使用 gpt4all 的分步说明:

  1. 安装:
  • gpt4all 需要 Python 3.7 或更高版本以及一些 Python 包依赖项。安装 gpt4all 最简单的方法是通过 pip:
 pip install gpt4all
  1. 获取 API 密钥:
  • 您需要一个 API 密钥才能通过 gpt4all 访问模型。您可以通过在https://platform.openai.com注册获取免费 API 密钥。
  1. 设置身份验证:
  • 获得 API 密钥后,请设置一个名为OPENAI_API_KEY的环境变量,并以您的 API 密钥作为值。
 export OPENAI_API_KEY="YOUR_API_KEY_HERE"
  1. 使用 gpt4all:
  • 现在,您已准备好在 Python 中使用 gpt4all 来访问 GPT-3 和其他模型。以下是提示 Davinci(GPT-3 的一个版本)总结一段文本的示例:
 from gpt4all import completions summary = completions.generate(engine="text-davinci-003", prompt="Summarize this text: [insert long text here]", max_tokens=50) print(summary.text)
  • 有关如何使用不同模型的更多示例,请参阅 gpt4all 文档


3)奥拉马


Ollamma 是一个开源库,可以轻松访问 GPT-3 等大型语言模型。以下是有关其系统要求、安装和使用的详细信息:

系统要求:

  • Python 3.7 或更高版本
  • 请求库
  • 有效的 OpenAI API 密钥

安装:

 pip install ollamma

用法:

  1. 设置 API 密钥
import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
  1. 导入并创建客户端
from ollamma import Client client = Client()
  1. 生成文本
response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)

生成方法允许您指定引擎、提示和最大令牌等参数来配置您的请求。

您还可以微调引擎、审核内容等。有关所有可用方法的更多详细信息,请参阅 Ollamma 文档。

总而言之 - 一旦安装和配置好 Ollamma,只需几行 Python 代码即可轻松利用 GPT-3 和其他模型!


4)LM 工作室


LM Studio 是一款开源工具,可简化在本地训练、评估和使用最先进的语言模型的过程。以下是在本地运行 LM Studio 的步骤:


  1. 安装:
    LM Studio 需要 Docker 和 Docker Compose。要安装:

a. 在你的机器上安装 Docker Engine 和 Docker Compose
b. 克隆 LM Studio GitHub 存储库:
git clone https://github.com/lm-studio/lm-studio.git


  1. 配置:
    LM Studio 依赖于config/文件夹下的配置文件。常见文件包括:

a. model.yaml :指定模型架构
b. training.yaml :设置训练参数
c. evaluation.yaml :调整评估设置


  1. 运行 LM Studio:
    主界面是通过Docker Compose。一些常用命令:

a. 构建镜像: docker-compose build
b.启动所有服务: docker-compose up -d
c.查看日志: docker-compose logs -f
d.停止服务: docker-compose down


这些服务公开了各种端口,您可以使用它们与 UI、API、笔记本等进行交互。

总而言之,LM Studio 简化了本地语言模型实验。用户只需克隆 repo、配置设置文件并使用简单的 Docker 命令即可开始训练、评估和使用模型。


5)本地化


我发现这是最方便、最简单的方法。完整解释如下链接所示:

https://cloud.google.com/blog/products/application-development/new-localllm-lets-you-develop-gen-ai-apps-locally-without-gpus

总结:

localllm与 Cloud Workstations 相结合,让您可以在 Google Cloud 环境中的 CPU 和内存上本地使用 LLM,从而彻底改变 AI 驱动的应用程序开发。通过消除对 GPU 的需求,您可以克服 GPU 稀缺带来的挑战并充分发挥 LLM 的潜力。通过提高生产力、成本效率和数据安全性,localllm 让您轻松构建创新应用程序


6)llamma.cpp

要安装并使用 Llama.cpp 进行本地训练和推理,请按照以下步骤操作:

安装依赖项:

 Python 3 CMake Optional (for GPU acceleration) NVIDIA drivers, CUDA, and cuDNN For Windows, use Visual Studio Community with Desktop C++ Environment and Python 3 Clone the repository:

git clone --recursive https://github.com/abetlen/llama-cpp-python.git如果要使用 GPU 加速,请按照 repo 中所述设置环境变量(例如,在 Linux 上):

 export CMAKE_ARGS="-DLLAMA_CUBLAS=ON" Install Llamma.cpp:

对于本地构建和系统编译:

 cd llama-cpp-python pip install -e . For Windows, or if you want prebuilt binaries, consider the following: No GPU support: pip install llama-cpp-python[server]

或者,要使用高级接口,请使用以下命令:

 python -m llama_cpp.server --model models/7B/llama-model.gguf With GPU support: set FORCE_CMAKE=1 set CMAKE_ARGS=-DLLAMA_CUBLAS=ON pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir

对于 Windows,可选择使用高级接口:

 python -m llama_cpp.server --model "path/to/your/model" Download and place Llama models in the models/ subdirectory within the Llama.cpp repository if they are not included (models like llama-model.gguf or ggml-* files are available on Hugging Face or GGML).


测试安装:


 The llama_cpp/llama_cpp.py script provides a simple high-level interface in Python. Replace llama-model.gguf with your downloaded Llama model to test inference. If you want to train your own Llama model, you'll need to train it according to the official documentation and manually convert the GGML files into GGUF files (for GPU deployment).



7)乌巴古巴

这是一个开源的 gradio 实现的 webui,使用 langchain 来生成文本。


README.md 文件的一些摘录:

文本生成-webui-扩展

这是扩展目录https://github.com/oobabooga/text-generation-webui

如果您创建了自己的扩展,欢迎将其通过 PR 提交到此列表。

长期记忆

一种复杂的扩展,为聊天模式下的机器人创建长期记忆。

https://github.com/wawawario2/long_term_memory

语音合成

AllTalk 基于 Coqui TTS 引擎,类似于用于文本生成 webUI 的 Coqui_tts 扩展,但支持多种高级功能。

  • 自定义启动设置:调整您的默认启动设置。截屏
  • 叙述者:对主角和叙述者使用不同的声音。示例叙述
  • 低 VRAM 模式:非常适合 GPU 内存较小或 VRAM 已被 LLM 填满的用户。截屏
  • DeepSpeed:生成 TTS 的性能提升了 3-4 倍。 DeepSpeed Windows/Linux 说明截屏
  • 本地/自定义模型:使用任何 XTTSv2 模型(API Local 和 XTTSv2 Local)。
  • 可选的 wav 文件维护:可配置删除旧的输出 wav 文件。截屏
  • 微调根据您选择的声音专门训练模型,以获得更好的再现。
  • 文档:通过内置网页提供完整文档。截屏
  • 控制台输出清除命令行输出中的任何警告或问题。
  • 通过 JSON 调用的 API Suite 和第三方支持可通过 JSON 调用与第三方应用程序一起使用。
  • 可以作为独立应用程序运行,不仅仅在 text-generation-webui 内部运行

https://github.com/erew123/alltalk_tts

EdgeGPT

由 acheong08 开发的基于 EdgeGPT 的文本生成 Webui 扩展,可让您的机器人快速访问互联网。

https://github.com/GiusTex/EdgeGPT

远程控制

主存储库中的 coqui_tts 扩展的一个变体。两者都使用 XTTSv2 模型,但这个扩展有一个“讲述人”功能,用于*在星号之间*书写的文本。

https://github.com/kanttouchthis/text_generation_webui_xtts

作家的游乐场

此扩展提供了一个独立的高级笔记本,它将始终显示在顶部选项卡中。它具有笔记本中没有的许多功能:

  • 两个独立的笔记本 A 和 B 始终存在,无论处于何种模式
  • 内联指导(能够在文本中提出问题或给出任务)
  • 选择并插入 - 在文本中间生成文本
  • 永久记忆、总结、释义
  • LoRA-Rama - 显示 LoRA 检查点以及在它们之间切换的能力
  • LoRA 扩展(实验性) - 使用滑块调整 LoRA 影响

https://github.com/FartyPants/Playground

还有更多值得我们探索的内容:请查看:

https://github.com/oobabooga/text-generation-webui-extensions



结论?


还有更多!太多了!LangChain、llm、ollamma,名单越来越长了!

祝愿充满美丽创造力的辉煌一年。干杯!