Torchchat เป็น codebase ขนาดเล็กที่แสดงความสามารถในการเรียกใช้แบบจำลองภาษาขนาดใหญ่ (LLMS) ได้อย่างราบรื่น ด้วย Torchchat คุณสามารถเรียกใช้ LLMS โดยใช้ Python ภายในแอปพลิเคชัน (C/C ++) ของคุณเอง (เดสก์ท็อปหรือเซิร์ฟเวอร์) และบน iOS และ Android
สำคัญ
อัปเดต 25 กันยายน 2567: Torchchat มีการสนับสนุนหลายรูปแบบสำหรับ LLAMA3.2 11B !!
ในการทดลองใช้ให้เสร็จสิ้นส่วนการติดตั้งด้านล่างจากนั้นกระโดดไปที่คู่มือหลายรูปแบบของเราเพื่อเรียนรู้เพิ่มเติม
รุ่นต่อไปนี้ได้รับการสนับสนุนโดย Torchchat และมีนามแฝงที่เกี่ยวข้อง
| แบบอย่าง | เป็นมิตรกับมือถือ | หมายเหตุ |
|---|---|---|
| Meta-llama/meta-llama-3.2-3b-Instruct | ปรับสำหรับ chat นามแฝงถึง llama3.2-3b | |
| meta-llama/meta-llama-3.2-3b | ดีที่สุดสำหรับ generate นามแฝงถึง llama3.2-3b-base | |
| meta-llama/llama-guard-3-1b | ปรับสำหรับการจำแนกประเภท นามแฝงถึง llama3-1b-guard | |
| Meta-llama/meta-llama-3.2-1b-Instruct | ปรับสำหรับ chat นามแฝงถึง llama3.2-1b | |
| meta-llama/meta-llama-3.2-1b | ดีที่สุดสำหรับ generate นามแฝงถึง llama3.2-1b-base | |
| Meta-Llama/Llama-3.2-11b-Vision-Instruct | Multimodal (รูปภาพ + ข้อความ) ปรับสำหรับ chat นามแฝงถึง llama3.2-11B | |
| meta-llama/llama-3.2-11b-vision | Multimodal (รูปภาพ + ข้อความ) ปรับสำหรับ generate นามแฝงถึง llama3.2-11B-base | |
| Meta-llama/meta-llama-3.1-8b-Instruct | ปรับสำหรับ chat นามแฝงถึง llama3.1 | |
| meta-llama/meta-llama-3.1-8b | ดีที่สุดสำหรับ generate นามแฝงถึง llama3.1-base | |
| Meta-llama/meta-llama-3-8b-Instruct | ปรับสำหรับ chat นามแฝงถึง llama3 | |
| meta-llama/meta-llama-3-8b | ดีที่สุดสำหรับ generate นามแฝงกับ llama3-base | |
| meta-llama/llama-2-7b-chat-hf | ปรับสำหรับ chat นามแฝงถึง llama2 | |
| meta-llama/llama-2-13b-chat-hf | ปรับสำหรับ chat นามแฝงถึง llama2-13b-chat | |
| meta-llama/llama-2-70b-chat-hf | ปรับสำหรับ chat นามแฝงถึง llama2-70b-chat | |
| meta-llama/llama-2-7b-hf | ดีที่สุดสำหรับ generate นามแฝงไปยัง llama2-base | |
| meta-llama/codellama-7b-python-hf | ปรับสำหรับ Python และ generate นามแฝงกับ codellama | |
| meta-llama/codellama-34b-python-hf | ปรับสำหรับ Python และ generate นามแฝงถึง codellama-34b | |
| Mistralai/mistral-7b-v0.1 | ดีที่สุดสำหรับ generate นามแฝงถึง mistral-7b-v01-base | |
| Mistralai/mistral-7b-instruct-v0.1 | ปรับสำหรับ chat นามแฝงต่อ mistral-7b-v01-instruct | |
| Mistralai/mistral-7b-instruct-v0.2 | ปรับสำหรับ chat นามแฝงต่อ mistral | |
| tinyllamas/stories15m | แบบจำลองของเล่นสำหรับ generate นามแฝงถึง stories15M | |
| tinyllamas/stories42m | แบบจำลองของเล่นสำหรับ generate นามแฝงถึง stories42M | |
| tinyllamas/stories110m | แบบจำลองของเล่นสำหรับ generate นามแฝงถึง stories110M 110m | |
| OpenLM-Research/open_llama_7b | ดีที่สุดสำหรับ generate นามแฝงกับ open-llama |
ขั้นตอนต่อไปนี้จำเป็นต้องติดตั้ง Python 3.10
เคล็ดลับ
Torchchat ใช้การเปลี่ยนแปลงล่าสุดจากโครงการ Pytorch ต่างๆดังนั้นขอแนะนำให้คุณใช้ VENV (โดยใช้คำสั่งด้านล่าง) หรือ Conda
git clone https://github.com/pytorch/torchchat.git
cd torchchat
python3 -m venv .venv
source .venv/bin/activate
./install/install_requirements.shอินเทอร์เฟซของ Torchchat นั้นใช้ประโยชน์ผ่าน คำสั่ง Python และ นักวิ่งพื้นเมือง ในขณะที่คำสั่ง Python นั้นมีอยู่ในเมนู -Help แต่หลังจะถูกสำรวจในส่วนที่เกี่ยวข้อง
python3 torchchat.py --help # Output
usage: torchchat [-h] {chat,browser,generate,export,eval,download,list,remove,where,server} ...
positional arguments:
{chat,browser,generate,export,eval,download,list,remove,where,server}
The specific command to run
chat Chat interactively with a model via the CLI
generate Generate responses from a model given a prompt
browser Chat interactively with a model in a locally hosted browser
export Export a model artifact to AOT Inductor or ExecuTorch
download Download model artifacts
list List all supported models
remove Remove downloaded model artifacts
where Return directory containing downloaded model artifacts
server [WIP] Starts a locally hosted REST server for model interaction
eval Evaluate a model via lm-eval
options:
-h, --help show this help message and exitการอนุมาน Python (แชท, สร้าง, เบราว์เซอร์, เซิร์ฟเวอร์)
การส่งออก (ส่งออก)
การจัดการสินค้าคงคลัง (ดาวน์โหลด, รายการ, ลบ, ที่ไหน)
การประเมินผล (ประเมิน)
รุ่นส่วนใหญ่ใช้ใบหน้ากอดเป็นช่องทางการกระจายดังนั้นคุณจะต้องสร้างบัญชีใบหน้ากอด สร้างโทเค็นการเข้าถึงของผู้ใช้ Hugging Face ตามที่บันทึกไว้ที่นี่ด้วยบทบาท write
ลงชื่อเข้าใช้ใบหน้ากอด:
huggingface-cli login
ดูรุ่นที่มีอยู่:
python3 torchchat.py listจากนั้นดาวน์โหลดหนึ่งสำหรับการทดสอบ (readme นี้ใช้ LLAMA3.1)
python3 torchchat.py download llama3.1
บันทึก
คำสั่งนี้อาจกระตุ้นให้คุณขอการเข้าถึง Llama 3 ผ่าน Hugging Face หากคุณยังไม่สามารถเข้าถึงได้ เพียงทำตามพรอมต์และเรียกใช้คำสั่งอีกครั้งเมื่อได้รับการเข้าถึง*
คำสั่งย่อยนี้แสดงตำแหน่งของรุ่นเฉพาะ
python3 torchchat.py where llama3.1สิ่งนี้มีประโยชน์ในสคริปต์เมื่อคุณไม่ต้องการเส้นทางรหัสยาก
คำสั่งย่อยนี้ลบโมเดลที่ระบุ
python3 torchchat.py remove llama3.1 ข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งเหล่านี้สามารถพบได้โดยการเพิ่มตัวเลือก --help
วิธีที่ง่ายที่สุดในการเรียกใช้โมเดลใน Pytorch คือการดำเนินการที่กระตือรือร้น นี่คือโหมดการดำเนินการเริ่มต้นสำหรับทั้ง Pytorch และ Torchchat มันทำการอนุมานโดยไม่ต้องสร้างสิ่งประดิษฐ์ส่งออกหรือใช้นักวิ่งแยกต่างหาก
โมเดลที่ใช้สำหรับการอนุมานยังสามารถกำหนดค่าและปรับให้เหมาะกับความต้องการเฉพาะ (การรวบรวมการหาปริมาณ ฯลฯ ) ดูคู่มือการปรับแต่งสำหรับตัวเลือกที่สนับสนุนโดย Torchchat
เคล็ดลับ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งเหล่านี้โปรดดูเมนู --help
โหมดนี้ช่วยให้คุณสามารถแชทกับ LLM ในแบบโต้ตอบ
python3 torchchat.py chat llama3.1โหมดนี้สร้างข้อความตามพรอมต์อินพุต
python3 torchchat.py generate llama3.1 --prompt " write me a story about a boy and his bear "โหมดนี้จะเปิดเผย REST API สำหรับการโต้ตอบกับโมเดล เซิร์ฟเวอร์ติดตามข้อกำหนดของ OpenAI API สำหรับการแชทเสร็จสมบูรณ์
ในการทดสอบ REST API คุณจะต้องมี 2 เทอร์มินัล : หนึ่งในการโฮสต์เซิร์ฟเวอร์และอีกอันเพื่อส่งคำขอ ในเทอร์มินัลเดียวเริ่มเซิร์ฟเวอร์
python3 torchchat.py server llama3.1เชลล์เริ่มต้น: Python3 Torchchat.py Server LLAMA3.1 & Server_Pid = $! - Sleep 90 # รอให้เซิร์ฟเวอร์พร้อมที่จะยอมรับคำขอ
ในเทอร์มินัลอื่นค้นหาเซิร์ฟเวอร์โดยใช้ curl ขึ้นอยู่กับการกำหนดค่าโมเดลแบบสอบถามนี้อาจใช้เวลาสองสามนาทีในการตอบสนอง
บันทึก
เนื่องจากคุณสมบัตินี้อยู่ระหว่างการพัฒนาที่ใช้งานอยู่จึงไม่ใช่ทุกพารามิเตอร์ที่ใช้ ดู API/API.PY สำหรับรายละเอียดเกี่ยวกับการใช้พารามิเตอร์คำขอใด หากคุณพบปัญหาใด ๆ โปรดแสดงความคิดเห็นเกี่ยวกับปัญหาการติดตาม GitHub
การตั้งค่า stream เป็น "จริง" ในคำขอปล่อยการตอบกลับเป็นชิ้น หาก stream ไม่ได้เป็นเซตหรือไม่ "จริง" ไคลเอนต์จะรอการตอบกลับเต็มรูปแบบจากเซิร์ฟเวอร์
ตัวอย่างอินพุต + เอาต์พุต
curl http://127.0.0.1:5000/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "llama3.1",
"stream": "true",
"max_tokens": 200,
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
{"response":" I'm a software developer with a passion for building innovative and user-friendly applications. I have experience in developing web and mobile applications using various technologies such as Java, Python, and JavaScript. I'm always looking for new challenges and opportunities to learn and grow as a developer.nnIn my free time, I enjoy reading books on computer science and programming, as well as experimenting with new technologies and techniques. I'm also interested in machine learning and artificial intelligence, and I'm always looking for ways to apply these concepts to real-world problems.nnI'm excited to be a part of the developer community and to have the opportunity to share my knowledge and experience with others. I'm always happy to help with any questions or problems you may have, and I'm looking forward to learning from you as well.nnThank you for visiting my profile! I hope you find my information helpful and interesting. If you have any questions or would like to discuss any topics, please feel free to reach out to me. I"}
เชลล์เริ่มต้น: ฆ่า $ {server_pid}
คำสั่งนี้เปิดอินเทอร์เฟซเบราว์เซอร์พื้นฐานสำหรับการแชทในท้องถิ่นโดยการสอบถามเซิร์ฟเวอร์ท้องถิ่น
ก่อนอื่นให้ทำตามขั้นตอนในส่วนเซิร์ฟเวอร์ด้านบนเพื่อเริ่มเซิร์ฟเวอร์ท้องถิ่น จากนั้นในเทอร์มินัลอื่นให้เปิดอินเทอร์เฟซ การรันต่อไปนี้จะเปิดแท็บในเบราว์เซอร์ของคุณ
streamlit run torchchat/usages/browser.py
ใช้แถบเลื่อน "การตอบสนองสูงสุด" เพื่อ จำกัด จำนวนโทเค็นสูงสุดที่สร้างขึ้นโดยโมเดลสำหรับการตอบสนองแต่ละครั้ง คลิกปุ่ม "รีเซ็ตแชท" เพื่อลบประวัติข้อความและเริ่มแชทใหม่
AOTI รวบรวมโมเดลก่อนที่จะดำเนินการอนุมานได้เร็วขึ้น กระบวนการสร้างไฟล์ PT2 ซิปที่มีสิ่งประดิษฐ์ทั้งหมดที่สร้างโดย AotInductor และไฟล์. SO ที่มีเนื้อหาที่เรียกใช้งานได้ซึ่งโหลดแล้วสำหรับการอนุมาน สิ่งนี้สามารถทำได้ทั้ง Python และ C ++ สภาพแวดล้อม
ตัวอย่างต่อไปนี้ส่งออกและดำเนินการโมเดล LLAMA3.1 8B คำสั่ง คำสั่งแรกรวบรวมและดำเนินการส่งออกจริง
python3 torchchat.py export llama3.1 --output-aoti-package-path exportedModels/llama3_1_artifacts.pt2บันทึก
หากเครื่องของคุณมี cuda เพิ่มค่าสถานะนี้สำหรับประสิทธิภาพ --quantize torchchat/quant_config/cuda.json เมื่อส่งออก
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการหาปริมาณและการตั้งค่าที่จะใช้สำหรับกรณีการใช้งานของคุณเยี่ยมชมคู่มือการปรับแต่งของเรา
ในการทำงานใน Python enviroment ให้ใช้คำสั่งย่อย Generate เหมือนก่อน แต่รวมไฟล์ PT2
python3 torchchat.py generate llama3.1 --aoti-package-path exportedModels/llama3_1_artifacts.pt2 --prompt " Hello my name is "ในการทำงานในสภาพแวดล้อม C ++ เราจำเป็นต้องสร้างไบนารีนักวิ่ง
torchchat/utils/scripts/build_native.sh aotiจากนั้นเรียกใช้ปฏิบัติการที่รวบรวมได้ด้วย PT2
cmake-out/aoti_run exportedModels/llama3_1_artifacts.pt2 -z ` python3 torchchat.py where llama3.1 ` /tokenizer.model -l 3 -i " Once upon a time " Executorch ช่วยให้คุณสามารถเพิ่มประสิทธิภาพโมเดลของคุณสำหรับการดำเนินการบนอุปกรณ์มือถือหรืออุปกรณ์ฝังตัว
ก่อนที่จะเรียกใช้คำสั่งใด ๆ ใน Torchchat ที่ต้องใช้ Executorch คุณต้องติดตั้ง Executorch ก่อน
ในการติดตั้ง Executorch ให้เรียกใช้คำสั่งต่อไปนี้ สิ่งนี้จะดาวน์โหลด executorch repo ไปที่ ./et-build/src และติดตั้งไลบรารี Executorch ต่างๆที่ ./et-build/install
สำคัญ
คำสั่งต่อไปนี้ควรเรียกใช้จากไดเรกทอรีราก Torchchat
export TORCHCHAT_ROOT=${PWD}
./torchchat/utils/scripts/install_et.sh
เช่นเดียวกับ AOTI เพื่อปรับใช้กับอุปกรณ์เราจะส่งออกสิ่งประดิษฐ์ PTE ก่อนจากนั้นเราก็โหลดสิ่งประดิษฐ์เพื่อการอนุมาน
ตัวอย่างต่อไปนี้ใช้โมเดลคำสั่ง LLAMA3.1 8B
# Export
python3 torchchat.py export llama3.1 --quantize torchchat/quant_config/mobile.json --output-pte-path llama3.1.pte
บันทึก
เราใช้ --quantize torchchat/quant_config/mobile.json เพื่อหาปริมาณรุ่น LLAMA3.1 เพื่อลดขนาดรุ่นและปรับปรุงประสิทธิภาพสำหรับกรณีการใช้งานบนอุปกรณ์
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการหาปริมาณและการตั้งค่าที่จะใช้สำหรับกรณีการใช้งานของคุณเยี่ยมชมคู่มือการปรับแต่งของเรา
ในขณะที่ Executorch ไม่ได้มุ่งเน้นไปที่การอนุมานเดสก์ท็อป แต่ก็มีความสามารถในการทำเช่นนั้น สิ่งนี้มีประโยชน์สำหรับการทดสอบโมเดล PTE โดยไม่ส่งไปยังอุปกรณ์ทางกายภาพ
โดยเฉพาะอย่างยิ่งมี 2 วิธีในการทำเช่นนั้น: Perhon Python และผ่านนักวิ่ง
# Execute
python3 torchchat.py generate llama3.1 --pte-path llama3.1.pte --prompt "Hello my name is"
สร้างนักวิ่ง
torchchat/utils/scripts/build_native.sh etดำเนินการโดยใช้นักวิ่ง
cmake-out/et_run llama3.1.pte -z ` python3 torchchat.py where llama3.1 ` /tokenizer.model -l 3 -i " Once upon a time "ต่อไปนี้จะถือว่าคุณทำตามขั้นตอนสำหรับการตั้งค่า Executorch
.dmg และย้ายแอพ CMake ไปยังโฟลเดอร์ /Applicationssudo /Applications/CMake.app/Contents/bin/cmake-gui --installincreased-memory-limit เปิดโครงการ Xcode:
open et-build/src/executorch/examples/demo-apps/apple_ios/LLaMA/LLaMA.xcodeprojหมายเหตุ: หากคุณพบปัญหาใด ๆ ที่เกี่ยวข้องกับการพึ่งพาแพ็คเกจปิด XCode ทำความสะอาดแคชและ/หรือผลิตภัณฑ์บิลด์และเปิดโครงการ XCode อีกครั้ง:
rm -rf ~ /Library/org.swift.swiftpm ~ /Library/Caches/org.swift.swiftpm ~ /Library/Caches/com.apple.dt.Xcode ~ /Library/Developer/Xcode/DerivedData
คลิกปุ่มเล่นเพื่อเปิดแอพในตัวจำลอง
ในการทำงานบนอุปกรณ์ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าสำหรับการพัฒนาและโปรไฟล์การจัดสรรที่มีสิทธิ์ใน increased-memory-limit อัปเดตตัวระบุชุดข้อมูลของแอพเพื่อให้ตรงกับโปรไฟล์การจัดเตรียมของคุณด้วยความสามารถที่ต้องการ
หลังจากเปิดตัวแอปสำเร็จให้คัดลอกไฟล์ Executorch ที่ส่งออก ( .pte ) และไฟล์ Tokenizer ( .model ) ไปยังโฟลเดอร์ Illama คุณสามารถค้นหาไฟล์รุ่นที่เรียกว่า llama3.1.pte ในไดเรกทอรี torchchat ปัจจุบันและไฟล์ Tokenizer ที่ $(python3 torchchat.py where llama3.1)/tokenizer.model Path
On My iPhone > iLLaMAปฏิบัติตามแนวทาง UI ของแอปเพื่อเลือกไฟล์รุ่นและโทเค็นจากระบบไฟล์ท้องถิ่นและออกพร้อมท์
คลิกที่ภาพด้านล่างเพื่อดูการดำเนินการ!
ต่อไปนี้จะถือว่าคุณทำตามขั้นตอนสำหรับการตั้งค่า Executorch
ดาวน์โหลดไฟล์ AAR ซึ่งมีไลบรารี Java และไลบรารี JNI ที่สอดคล้องกันเพื่อสร้างและเรียกใช้แอพ
ย้ายไฟล์ AAR ที่ดาวน์โหลดไปยัง torchchat/edge/android/torchchat/app/libs/ คุณอาจต้องสร้าง Directory torchchat/edge/android/torchchat/app/libs/ หากไม่มีอยู่
กดไฟล์โมเดลและ tokenizer ไปยังอุปกรณ์ของคุณ คุณสามารถค้นหาไฟล์รุ่นที่เรียกว่า llama3.1.pte ในไดเรกทอรี torchchat ปัจจุบันและไฟล์ Tokenizer ที่ $(python3 torchchat.py where llama3.1)/tokenizer.model Path
adb shell mkdir -p /data/local/tmp/llama
adb push <model.pte> /data/local/tmp/llama
adb push <tokenizer.model or tokenizer.bin> /data/local/tmp/llama
ใช้ Android Studio เพื่อเปิด Skeleton แอพ Torchchat ซึ่งตั้งอยู่ที่ torchchat/edge/android/torchchat
คลิกปุ่มเล่น (^r) เพื่อเปิดใช้งาน Emulator/อุปกรณ์
ปฏิบัติตามแนวทาง UI ของแอพเพื่อเลือกไฟล์รุ่นและโทเค็นจากระบบไฟล์ท้องถิ่น จากนั้นออกพรอมต์
หมายเหตุ: ไฟล์ AAR ที่ระบุไว้ในขั้นตอนที่ 1 มี tokenizer tiktoken และ sentensepiece หากต้องการปรับแต่งหรือใช้ tokenizer และรันไทม์ที่กำหนดเองให้แก้ไขรหัส Executorch และใช้สคริปต์นี้เพื่อสร้างไลบรารี AAR
หรือคุณสามารถเรียกใช้ torchchat/utils/scripts/android_example.sh ซึ่งตั้งค่า Java, Android SDK Manager, Android SDK, Android Emulator (หากไม่พบอุปกรณ์ทางกายภาพ) สร้างแอพและเปิดตัวให้คุณ สามารถใช้งานได้หากคุณไม่มี GUI
export TORCHCHAT_ROOT=$(pwd)
sh torchchat/utils/scripts/android_example.sh
หมายเหตุ: คุณสมบัตินี้ยังคงเป็นงานที่กำลังดำเนินอยู่และคุณสมบัติทั้งหมดไม่ทำงาน
ใช้ไลบรารี LM_EVAL เพื่อประเมินความแม่นยำของแบบจำลองในงานที่หลากหลาย ค่าเริ่มต้นเป็น wikitext และสามารถควบคุมด้วยตนเองโดยใช้งานและ จำกัด args ดูการประเมินผล
ตัวอย่าง
โหมดกระตือรือร้น:
python3 torchchat.py eval llama3.1 --dtype fp32 --limit 5
ในการทดสอบความงุนงงสำหรับโมเดลที่ลดลงหรือเชิงปริมาณให้ส่งผ่านในลักษณะเดียวกับที่คุณต้องการสร้าง:
python3 torchchat.py eval llama3.1 --pte-path llama3.1.pte --limit 5
Torchchat รวบรวมรายละเอียดปรัชญาการออกแบบของ Pytorch โดยเฉพาะอย่างยิ่ง "การใช้งานเหนือสิ่งอื่นใด"
Torchchat เป็นห้องสมุดพื้นเมือง ในขณะที่เราจัดให้มีการบูรณาการกับระบบนิเวศโดยรอบ (เช่น: การกอดแบบจำลองใบหน้า ฯลฯ ) ฟังก์ชั่นหลักทั้งหมดเขียนใน Pytorch
Torchchat ได้รับการออกแบบให้ง่ายต่อการเข้าใจใช้และขยาย
Torchchat ให้ส่วนประกอบที่ได้รับการทดสอบอย่างดีด้วยแถบสูงเกี่ยวกับความถูกต้อง เราให้
เราให้ความสำคัญกับชุมชนของเราและการมีส่วนร่วมของผู้ใช้ที่ยอดเยี่ยมของเรา เราจะใช้ส่วนนี้เพื่อเรียกร้องให้มีการบริจาคเหล่านี้! หากคุณต้องการช่วยเหลือเช่นกันโปรดดูคู่มือการสนับสนุน
เพื่อเชื่อมต่อกับเราและสมาชิกชุมชนคนอื่น ๆ เราขอเชิญคุณเข้าร่วมชุมชน Slack ของเราโดยกรอกแบบฟอร์มนี้ เมื่อคุณเข้าร่วมแล้วคุณสามารถ:
#torchchat-general Channel สำหรับคำถามทั่วไปการสนทนาและการสนับสนุนชุมชน#torchchat-contributors หากคุณสนใจที่จะมีส่วนร่วมโดยตรงกับการพัฒนาโครงการรอคอยที่จะพูดคุยกับคุณเกี่ยวกับ Torchchat Future!
ส่วนของข้อผิดพลาด/ข้อยกเว้นการตั้งค่าที่พบโดยทั่วไป หากส่วนนี้ไม่มีสถานการณ์ของคุณให้ตรวจสอบปัญหา GitHub
การเข้าถึงโมเดลถูก จำกัด และคุณไม่ได้อยู่ในรายการที่ได้รับอนุญาต
บางรุ่นต้องการขั้นตอนเพิ่มเติมในการเข้าถึง ไปตามลิงค์ที่มีให้ในข้อผิดพลาดเพื่อรับการเข้าถึง
วงล้ออาคารล้มเหลว
ถ้า ./torchchat/utils/scripts/install_et.sh ล้มเหลวด้วยข้อผิดพลาดเช่น Building wheel for executorch (pyproject.toml) did not run successfully เป็นไปได้ว่ามันเชื่อมโยงกับรุ่นเก่าของ Pytorch ติดตั้งวิธีอื่น ๆ คุณสามารถทำลายลิงก์โดยถอนการติดตั้งเวอร์ชันอื่น ๆ เช่น brew uninstall pytorch หมายเหตุ: คุณอาจทำลายสิ่งที่ขึ้นอยู่กับสิ่งนี้ดังนั้นโปรดระวัง
ใบรับรอง _verify_failed
Run pip install --upgrade certifi
หากคุณพบข้อบกพร่องหรือความยากลำบากในการใช้ Torchchat โปรดยื่นปัญหา GitHub
โปรดระบุคำสั่งที่แน่นอนที่คุณเรียกใช้และผลลัพธ์ของคำสั่งนั้น นอกจากนี้เรียกใช้สคริปต์นี้และรวมเอาท์พุทที่บันทึกไว้ใน system_info.txt เพื่อให้เราสามารถแก้ไขปัญหาของคุณได้ดีขึ้น
(echo "Operating System Information"; uname -a; echo ""; cat /etc/os-release; echo ""; echo "Python Version"; python --version || python3 --version; echo ""; echo "PIP Version"; pip --version || pip3 --version; echo ""; echo "Installed Packages"; pip freeze || pip3 freeze; echo ""; echo "PyTorch Version"; python -c "import torch; print(torch.__version__)" || python3 -c "import torch; print(torch.__version__)"; echo ""; echo "Collection Complete") > system_info.txt
เนื้อหาที่เก็บ Torchchat มีให้โดยไม่มีการรับประกันใด ๆ เกี่ยวกับประสิทธิภาพหรือความเข้ากันได้ โดยเฉพาะอย่างยิ่ง Torchchat ทำให้สถาปัตยกรรมแบบจำลองที่มีอยู่ใน Python สำหรับ Pytorch ที่อาจไม่ได้ทำงานในลักษณะเดียวกันหรือเป็นไปตามมาตรฐานเดียวกันกับรุ่นดั้งเดิมของรุ่นเหล่านั้น เมื่อใช้เนื้อหาที่เก็บ Torchchat รวมถึงสถาปัตยกรรมแบบจำลองใด ๆ คุณมีความรับผิดชอบเพียงอย่างเดียวในการพิจารณาความเหมาะสมของการใช้หรือแจกจ่ายเนื้อหาที่เก็บ Torchchat และรับความเสี่ยงใด ๆ ที่เกี่ยวข้องกับการใช้เนื้อหาที่เก็บ Torchchat หรือรุ่นใด ๆ นอกจากนี้คุณอาจมีภาระผูกพันทางกฎหมายอื่น ๆ ที่ควบคุมการใช้เนื้อหาอื่น ๆ ของคุณเช่นข้อกำหนดในการให้บริการสำหรับโมเดลบุคคลที่สามน้ำหนักข้อมูลหรือเทคโนโลยีอื่น ๆ และคุณต้องรับผิดชอบ แต่เพียงผู้เดียวในการปฏิบัติตามภาระผูกพันดังกล่าว
ขอบคุณชุมชนสำหรับห้องสมุดและเครื่องมือที่ยอดเยี่ยมที่คุณสร้างขึ้นเกี่ยวกับการอนุมาน LLM ในท้องถิ่น
Georgi Gerganov และโครงการ GGML ของเขาส่องแสงสปอตไลท์เกี่ยวกับการเปิดใช้งานชุมชนและสร้างแรงบันดาลใจให้กับโครงการอื่น ๆ อีกมากมาย
Andrej Karpathy และโครงการ Llama2.c ของเขา ความคิดที่ยอดเยี่ยมมากมาย (และเรียบง่าย!) ใน llama2.c ที่เราได้นำมาใช้โดยตรง (ทั้งความคิดและรหัส) จาก repo ของเขา คุณไม่สามารถผิดพลาดได้โดยติดตามงานของ Andrej
Michael Gschwind, Bert Maher, Scott Wolchok, Bin Bao, Chen Yang, Huamin Li และ Mu-chu Li ผู้สร้าง Nanogpt เวอร์ชันแรก ( DSOGPT ) ด้วยตัวเหนี่ยวนำ AOT พิสูจน์ให้เห็นว่า AOTI สามารถใช้ LLM ที่มีประสิทธิภาพและ DSOS เป็นรูปแบบการกระจายแบบจำลอง Nanogpt
Bert Maher และ Llama2.so ของเขาซึ่งสร้างขึ้นบน Llama2.c ของ Andrej และ DSOGPT เพื่อปิดวงดนตรี Llama กับ Aotinductor
Christian Puhrsch, Horace He, Joe Isaacson และอีกมากมายสำหรับการมีส่วนร่วมมากมายในการเร่งรุ่น Genai ใน "อะไรก็ได้เร็ว!" บล็อก pytorch.org และโดยเฉพาะอย่างยิ่งฮอเรซเขาสำหรับ gpt, fast!, ซึ่งเราได้นำมาใช้โดยตรง (ทั้งความคิดและรหัส) จาก repo ของเขา
Torchchat เปิดตัวภายใต้ใบอนุญาต BSD 3 (รหัสเพิ่มเติมในการแจกแจงนี้ครอบคลุมโดย MIT และ Apache Open Source Licenses) อย่างไรก็ตามคุณอาจมีภาระผูกพันทางกฎหมายอื่น ๆ ที่ควบคุมการใช้เนื้อหาของคุณเช่นข้อกำหนดในการให้บริการสำหรับโมเดลบุคคลที่สาม