paint-brush
Cách chạy LLM địa phương của riêng bạn (Cập nhật năm 2024)từ tác giả@thomascherickal
17,191 lượt đọc
17,191 lượt đọc

Cách chạy LLM địa phương của riêng bạn (Cập nhật năm 2024)

từ tác giả Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Bài viết cung cấp hướng dẫn chi tiết về cách sử dụng các mô hình Generative AI như Hugging Face Transformers, gpt4all, Ollama và localllm tại địa phương. Tìm hiểu cách khai thác sức mạnh của AI cho các ứng dụng sáng tạo và giải pháp đổi mới.

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Cách chạy LLM địa phương của riêng bạn (Cập nhật năm 2024)
Thomas Cherickal HackerNoon profile picture
0-item

Từ https://wallpapers.com/wallpapers/theoretical-physical-green-particles-ht1c16rgtu5ilkhc.html


Đây là năm đột phá của Generative AI


Tốt; ít nhất phải nói rằng, năm nay tôi có rất nhiều lựa chọn về cách chạy Mô hình LLM tại địa phương.


Hãy bắt đầu:


1) Máy biến áp ôm mặt:

Tất cả hình ảnh được tạo bởi Bing Image Creator

Để chạy Hugging Face Transformers ngoại tuyến mà không cần truy cập internet, hãy làm theo các bước sau: Cài đặt Transformers với các phụ thuộc cần thiết đồng thời đảm bảo bạn không dựa vào các bản cập nhật tự động trong quá trình cài đặt. Bạn có thể cài đặt qua pip hoặc conda như được mô tả trong tài liệu Ôm mặt


 pip install transformers==4.xy

Tải các mô hình đã được huấn luyện trước từ máy cục bộ của bạn sau khi tải chúng xuống từ Hugging Face Hub có quyền truy cập internet. Lưu mô hình bằng save_pretrain(), sau đó tải mô hình sau ở chế độ ngoại tuyến.

 from transformers import AutoModelForSequenceClassification, BertTokenizerFast

Lần đầu tiên, tải xuống và lưu mô hình

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

Sau đó, tải mô hình đã lưu ngoại tuyến

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


Đặt các biến môi trường TRANSFORMERS_OFFLINE và HF_DATASETS_OFFLINE để cho phép sử dụng ngoại tuyến.

 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1

Sao chép trực tiếp kho lưu trữ mô hình nếu bạn không muốn tải xuống các tệp riêng lẻ.


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


Đảm bảo rằng tất cả các tệp cần thiết đều có trong thư mục nơi bạn dự định thực thi tập lệnh của mình. Hãy nhớ rằng chỉ cài đặt TRANSFORMERS_OFFLINE thành 1 sẽ không hiệu quả nếu kiểu máy này chưa có sẵn tại địa phương. Bạn phải tải xuống mô hình có quyền truy cập internet và lưu nó cục bộ hoặc sao chép kho lưu trữ mô hình.




2) gpt4all


gpt4all là một dự án nguồn mở cho phép mọi người truy cập và sử dụng các mô hình AI mạnh mẽ như GPT-3. Dưới đây là hướng dẫn từng bước để cài đặt và sử dụng gpt4all:

  1. Cài đặt:
  • gpt4all yêu cầu Python 3.7 trở lên và một số gói phụ thuộc Python. Cách dễ nhất để cài đặt gpt4all là thông qua pip:
 pip install gpt4all
  1. Nhận khóa API:
  • Bạn cần có khóa API để truy cập các mô hình thông qua gpt4all. Bạn có thể nhận khóa API miễn phí bằng cách đăng ký tại https://platform.openai.com .
  1. Thiết lập xác thực:
  • Khi bạn có khóa API, hãy đặt biến môi trường có tên OPENAI_API_KEY với khóa API làm giá trị.
 export OPENAI_API_KEY="YOUR_API_KEY_HERE"
  1. Sử dụng gpt4all:
  • Bây giờ bạn đã sẵn sàng sử dụng gpt4all trong Python để truy cập GPT-3 và các mô hình khác. Dưới đây là ví dụ nhắc Davinci (phiên bản GPT-3) tóm tắt một đoạn văn bản:
 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)
  • Tham khảo tài liệu gpt4all để biết thêm ví dụ về cách sử dụng các mô hình khác nhau


3) olamma


Ollamma là thư viện mã nguồn mở cung cấp khả năng truy cập dễ dàng vào các mô hình ngôn ngữ lớn như GPT-3. Dưới đây là chi tiết về yêu cầu hệ thống, cài đặt và cách sử dụng:

Yêu cầu hệ thống:

  • Python 3.7 trở lên
  • Thư viện yêu cầu
  • Khóa API OpenAI hợp lệ

Cài đặt:

 pip install ollamma

Cách sử dụng:

  1. Đặt khóa API
 import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
  1. Nhập và tạo ứng dụng khách
 from ollamma import Client client = Client()
  1. Tạo văn bản
 response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)

Phương thức tạo cho phép bạn chỉ định công cụ, lời nhắc và các tham số như mã thông báo tối đa để định cấu hình yêu cầu của bạn.

Bạn cũng có thể tinh chỉnh công cụ, kiểm duyệt nội dung, v.v. Tham khảo tài liệu của Ollamma để biết thêm chi tiết về tất cả các phương pháp có sẵn.

Vì vậy, tóm lại - Ollamma giúp việc tận dụng GPT-3 và các mô hình khác thực sự dễ dàng chỉ bằng một vài dòng mã Python sau khi được cài đặt và định cấu hình!


4) Xưởng LM


LM Studio là một công cụ nguồn mở giúp hợp lý hóa quy trình đào tạo, đánh giá và sử dụng các mô hình ngôn ngữ tiên tiến tại địa phương. Dưới đây là các bước để LM Studio chạy cục bộ:


  1. Cài đặt:
    LM Studio yêu cầu Docker và Docker Compose. Để cài đặt:

Một. Cài đặt Docker Engine và Docker Compose trên máy của bạn
b. Sao chép kho lưu trữ LM Studio GitHub:
git clone https://github.com/lm-studio/lm-studio.git


  1. Cấu hình:
    LM Studio dựa vào các file cấu hình trong thư mục config/ . Các tập tin phổ biến bao gồm:

Một. model.yaml : chỉ định kiến trúc mô hình
b. training.yaml : đặt tham số đào tạo
c. evaluation.yaml : điều chỉnh cài đặt đánh giá


  1. Chạy LM Studio:
    Giao diện chính thông qua Docker Compose. Một số lệnh thông dụng:

Một. Xây dựng hình ảnh: docker-compose build
b. Bắt đầu tất cả các dịch vụ: docker-compose up -d
c. Xem nhật ký: docker-compose logs -f
d. Dừng dịch vụ: docker-compose down


Các dịch vụ cung cấp nhiều cổng khác nhau mà bạn có thể sử dụng để tương tác với giao diện người dùng, API, sổ ghi chép, v.v.

Vì vậy, tóm lại, LM Studio hợp lý hóa việc thử nghiệm mô hình ngôn ngữ địa phương. Người dùng chỉ cần sao chép repo, định cấu hình tệp cài đặt và sử dụng các lệnh Docker đơn giản để bắt đầu đào tạo, đánh giá và sử dụng mô hình.


5) địa phương


Tôi thấy rằng đây là cách thuận tiện và đơn giản nhất. Lời giải thích đầy đủ được đưa ra trên liên kết dưới đây:

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

Tóm tắt:

localllm kết hợp với Cloud Workstations cách mạng hóa việc phát triển ứng dụng dựa trên AI bằng cách cho phép bạn sử dụng LLM cục bộ trên CPU và bộ nhớ trong môi trường Google Cloud. Bằng cách loại bỏ nhu cầu về GPU, bạn có thể vượt qua những thách thức do sự khan hiếm GPU đặt ra và khai thác toàn bộ tiềm năng của LLM. Với năng suất được nâng cao, hiệu quả chi phí và bảo mật dữ liệu được cải thiện, localllm cho phép bạn xây dựng các ứng dụng sáng tạo một cách dễ dàng


6) llamma.cpp

Để cài đặt và sử dụng Llama.cpp cho mục đích đào tạo và suy luận cục bộ, hãy làm theo các bước sau:

Cài đặt phụ thuộc:

 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 Nếu bạn muốn sử dụng khả năng tăng tốc GPU, hãy đặt biến môi trường như được mô tả trong repo (ví dụ: trên Linux):

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

Để biên dịch hệ thống và xây dựng cục bộ:

 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]

Tùy chọn, để sử dụng giao diện cấp cao, sử dụng lệnh:

 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

Tùy chọn, đối với Windows, để sử dụng giao diện cấp cao:

 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).


Kiểm tra cài đặt:


 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) Oobagooba

Đây là một triển khai gradio mã nguồn mở của webui để tạo văn bản bằng langchain.


Một số đoạn trích từ tệp README.md:

phần mở rộng tạo văn bản-webui

Đây là thư mục các phần mở rộng dành cho https://github.com/oobabooga/text-thế hệ-webui

Nếu bạn tạo tiện ích mở rộng của riêng mình, bạn có thể gửi nó vào danh sách này dưới dạng PR.

trí nhớ dài hạn

Một tiện ích mở rộng phức tạp tạo ra bộ nhớ dài hạn cho bot trong chế độ trò chuyện.

https://github.com/wawawario2/long_term_memory

TTS AllTalk

AllTalk dựa trên công cụ Coqui TTS, tương tự như tiện ích mở rộng Coqui_tts cho webUI tạo văn bản, tuy nhiên hỗ trợ nhiều tính năng nâng cao.

  • Cài đặt khởi động tùy chỉnh: Điều chỉnh cài đặt khởi động mặc định của bạn. Ảnh chụp màn hình
  • Người kể chuyện: Sử dụng các giọng nói khác nhau cho nhân vật chính và lời tường thuật. Tường thuật ví dụ
  • Chế độ VRAM thấp: Phù hợp với những người có bộ nhớ GPU nhỏ hoặc nếu VRAM của bạn bị LLM lấp đầy. Ảnh chụp màn hình
  • DeepSpeed: Tăng hiệu suất gấp 3-4 lần khi tạo TTS. Hướng dẫn Windows/Linux DeepSpeed Ảnh chụp màn hình
  • Mô hình cục bộ/tùy chỉnh: Sử dụng bất kỳ mô hình XTTSv2 nào (API cục bộ và XTTSv2 cục bộ).
  • Bảo trì tệp wav tùy chọn: Có thể định cấu hình xóa các tệp wav đầu ra cũ. Ảnh chụp màn hình
  • Tinh chỉnh Huấn luyện mô hình cụ thể theo giọng bạn chọn để tái tạo tốt hơn.
  • Tài liệu: Tài liệu đầy đủ với một trang web tích hợp. Ảnh chụp màn hình
  • Đầu ra của bảng điều khiển Xóa đầu ra dòng lệnh đối với bất kỳ cảnh báo hoặc sự cố nào.
  • Hỗ trợ API Suite và bên thứ 3 thông qua lệnh gọi JSON Có thể được sử dụng với các ứng dụng của bên thứ 3 thông qua lệnh gọi JSON.
  • Có thể chạy như một ứng dụng độc lập Không chỉ bên trong webui tạo văn bản.

https://github.com/erew123/alltalk_tts

EdgeGPT

Tiện ích mở rộng cho Webui tạo văn bản dựa trên EdgeGPT của acheong08, để bot của bạn truy cập Internet nhanh chóng.

https://github.com/GiusTex/EdgeGPT

XTTSv2

Một biến thể của tiện ích mở rộng coqui_tts trong kho lưu trữ chính. Cả hai đều sử dụng mô hình XTTSv2, nhưng mô hình này có tính năng "người kể chuyện" cho văn bản được viết *giữa các dấu hoa thị*.

https://github.com/kanttouchthis/text_Generation_webui_xtts

Sân chơi cho nhà văn

Tiện ích mở rộng này cung cấp một sổ ghi chép nâng cao độc lập sẽ luôn xuất hiện ở tab trên cùng. Nó có nhiều tính năng không có trong máy tính xách tay:

  • Hai Notebook A và B độc lập luôn hiện diện, bất kể chế độ nào
  • Hướng dẫn nội tuyến (khả năng đặt câu hỏi hoặc đưa ra nhiệm vụ từ chính văn bản)
  • Chọn và chèn - tạo văn bản ở giữa văn bản của bạn
  • Bộ nhớ Perma, Tóm tắt, Diễn giải
  • LoRA-Rama - hiển thị các điểm kiểm tra LoRA và khả năng chuyển đổi giữa chúng
  • Chia tỷ lệ LoRA (thử nghiệm) - điều chỉnh tác động LoRA bằng thanh trượt

https://github.com/FartyPants/Playground

Và còn rất nhiều điều nữa để chúng ta khám phá: Hãy xem:

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



Phần kết luận?


Và còn nhiều hơn thế nữa! Nhiều hơn nữa! LangChain, llm, ollamma, danh sách này ngày càng lớn hơn!

Đây là một năm huy hoàng của sự sáng tạo tươi đẹp. Chúc mừng!