ยินดีต้อนรับสู่ VerbaFlow สถาปัตยกรรมประสาทที่เขียนด้วย Go ออกแบบมาโดยเฉพาะสำหรับงานการสร้างแบบจำลองภาษา สร้างขึ้นบน RWKV RNN ที่แข็งแกร่ง โมเดลนี้ได้รับการปรับให้เหมาะสมเพื่อประสิทธิภาพที่มีประสิทธิภาพบน CPU มาตรฐาน ทำให้สามารถรันโมเดลภาษาที่ค่อนข้างใหญ่ได้อย่างราบรื่น แม้แต่บนฮาร์ดแวร์ของผู้บริโภค
ด้วยความสามารถในการใช้โมเดลที่ได้รับการฝึกล่วงหน้าบนชุดข้อมูล Pile ทำให้ VerbaFlow มีประสิทธิภาพเทียบเท่ากับโมเดล Transformer ที่คล้ายกับ GPT ในการทำนายโทเค็นถัดไป เช่นเดียวกับในงานอื่นๆ เช่น การสรุปข้อความ การจัดหมวดหมู่ข้อความ การตอบคำถาม และการสนทนาทั่วไป
ความต้องการ:
โคลน repo นี้หรือรับไลบรารี:
go get -u github.com/nlpodyssey/verbaflow
ในการเริ่มใช้ VerbaFlow เราขอแนะนำให้ใช้โมเดลที่ผ่านการฝึกอบรมมาแล้ว RWKV-4-Pile-1B5-Instruct
ซึ่งมีอยู่ใน Hugging Face Hub แบบจำลองนี้ได้รับการปรับแต่งอย่างละเอียดโดยใช้ชุดข้อมูล Pile และได้รับการออกแบบมาเป็นพิเศษเพื่อทำความเข้าใจและดำเนินการตามคำสั่งของมนุษย์ เช่นเดียวกับที่ได้รับการปรับแต่งอย่างละเอียดบนชุดข้อมูล xP3 สามารถเข้าถึงโมเดล RWKV-4-Pile-1B5-Instruct-test2-20230209
ดั้งเดิมซึ่งเป็นที่มาของโมเดลนี้ได้ ที่นี่
ไลบรารีได้รับการปรับให้เหมาะสมเพื่อให้ทำงานในซีพียู x86-64 หากคุณต้องการรันบนสถาปัตยกรรมอื่น คุณสามารถใช้
GOARCH=amd64
ตัวแปรสภาพแวดล้อม
คำสั่งต่อไปนี้สามารถใช้ในการสร้างและใช้ VerbaFlow:
go build ./cmd/verbaflow
คำสั่งนี้สร้างโปรแกรม go และสร้างไฟล์ปฏิบัติการชื่อ verbaflow
./verbaflow -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct download
คำสั่งนี้จะดาวน์โหลดโมเดลที่ระบุ (ในกรณีนี้คือ "nlpodyssey/RWKV-4-Pile-1B5-Instruct" ใต้ไดเร็กทอรี "models")
./verbaflow -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct convert
คำสั่งนี้จะแปลงโมเดลที่ดาวน์โหลดมาเป็นรูปแบบที่โปรแกรมใช้
./verbaflow -log-level trace -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct inference --address :50051
คำสั่งนี้จะเรียกใช้ตำแหน่งข้อมูลการอนุมาน gRPC บนโมเดลที่ระบุ
โปรดตรวจสอบให้แน่ใจว่าได้ติดตั้งการพึ่งพาที่จำเป็นก่อนที่จะรันคำสั่งข้างต้น
หนึ่งในคุณสมบัติที่น่าสนใจที่สุดของ LLM คือความสามารถในการตอบสนองตามการแจ้งเตือน
รันตำแหน่งข้อมูล gRPC ของ verbaflow
ด้วยคำสั่งในการอนุมาน จากนั้นรันตัวอย่าง prompttester
โดยป้อนพร้อมท์ต่อไปนี้:
พร้อมท์:
echo 'nQ: Briefly: The Universe is expanding, its constituent galaxies flying apart like pieces of cosmic shrapnel in the aftermath of the Big Bang. Which section of a newspaper would this article likely appear in?nnA:' | go run ./examples/prompttester --dconfig ./examples/prompttester/config.yaml
ผลลัพธ์ที่คาดหวัง:
Science and Technology
พร้อมท์:
echo 'nQ:Translate the following text from French to English Je suis le père le plus heureux du mondennA:' | go run ./examples/prompttester --dconfig ./examples/prompttester/config.yaml
ผลลัพธ์ที่คาดหวัง:
I am the happiest father in the world.
รายการการขึ้นต่อกันหลักมีดังนี้:
ขอขอบคุณ PENG Bo ที่สร้าง RWKV RNN และทรัพยากรที่เกี่ยวข้องทั้งหมด รวมถึงโมเดลที่ได้รับการฝึกอบรมล่วงหน้าด้วย
"VerbaFlow" ผสมผสานระหว่าง "verba" ซึ่งเป็น คำ ในภาษาละติน และ "flow" ซึ่งพาดพิงถึงลักษณะของโครงข่ายประสาทที่เกิดซ้ำโดยกระตุ้นให้เกิดแนวคิดเรื่องการไหลของคำอย่างคล่องแคล่วและต่อเนื่อง ซึ่งเกิดขึ้นได้โดยเครือข่าย ความสามารถในการรักษาสถานะภายในและ "จดจำ" คำและบริบทก่อนหน้าเมื่อสร้างคำใหม่