ประเมินพื้นที่ใช้งานทั้งหมด
น้ำหนัก การควอนไทซ์ ความยาวบริบท แคช และคำขอพร้อมกัน ล้วนส่งผลต่อหน่วยความจำ เผื่อพื้นที่ไว้สำหรับระบบปฏิบัติการและรันไทม์ การอนุมาน CPU และการอนุมานด้วย GPU มีลักษณะต้นทุนและปริมาณงานที่แตกต่างกัน VPS มาตรฐานไม่ได้หมายความถึงการเข้าถึง GPU
เก็บโมเดล API ไว้เป็นส่วนตัว
รันไทม์อย่าง Ollama ไม่ควรเปิดเผยสู่อินเทอร์เน็ตโดยไม่มีชั้นความปลอดภัยที่เหมาะสม ผูกกับ loopback หรืออินเทอร์เฟซส่วนตัวเมื่อทำได้ และวางการเข้าถึง TLS ที่ผ่านการยืนยันตัวตนไว้หน้าเส้นทางระยะไกลใด ๆ
ดาวน์โหลดพร้อมแหล่งที่มา
ตรวจสอบสัญญาอนุญาตของโมเดล ซอร์ส เช็กซัมเมื่อมีให้ และการใช้งานที่ตั้งใจ รูปแบบโมเดลที่ไม่น่าเชื่อถือหรือโค้ดตัวโหลดโดยรอบสามารถขยายพื้นผิวการโจมตีได้ ดูแลรันไทม์และ dependencies ให้เป็นปัจจุบัน
วัดประสิทธิภาพคำขอจริง
วัดเวลาแฝงของโทเค็นแรก โทเค็นต่อวินาที แรงกดดันหน่วยความจำ และพฤติกรรมพร้อมกันด้วยขนาดคอนเท็กซ์ที่แอปพลิเคชันของคุณใช้ เพิ่มขีดจำกัดขนาดคำขอ การจัดคิว และไทม์เอาต์ เพื่อให้พรอมป์ขนาดใหญ่เพียงตัวเดียวไม่สามารถทำให้เครื่องหมดทรัพยากรได้
พิสูจน์ว่า API ไม่ใช่สาธารณะ
การเข้าถึง API ในเครื่องผ่าน Ollama ไม่ต้องใช้การยืนยันตัวตน หากมีเพียงแอปพลิเคชันของคุณเองที่เรียกใช้ ให้คงตัวรับฟังไว้บน loopback สำหรับการใช้งานระยะไกล ให้เพิ่มเกตเวย์ TLS ที่มีการยืนยันตัวตน หรืออุโมงค์ส่วนตัวที่มีการจำกัดคำขอและจำนวนพร้อมกัน ข้อมูลรับรอง API บนคลาวด์ไม่ได้ปกป้องตัวรับฟังในเครื่องโดยอัตโนมัติ ทดสอบจากอุปกรณ์ที่ไม่มีการเข้าถึงและต้องได้รับการปฏิเสธ
- ตรวจสอบที่อยู่ที่รับฟัง
- ลองส่งคำขอแบบไม่ยืนยันตัวตนจากภายนอกเครือข่ายที่ได้รับอนุญาต
- จำกัดขนาดคอนเท็กซ์และการสร้างพร้อมกัน
ss -lntp
curl --fail http://127.0.0.1:11434/api/tagsเอกสารอย่างเป็นทางการ: โมเดลการยืนยันตัวตนของ Ollama
เก็บบันทึกการทดสอบประสิทธิภาพขนาดเล็กไว้
บันทึกตัวแปรโมเดลที่แน่นอน การควอนไทซ์ ความยาวคอนเท็กซ์ พรอมต์ และจำนวนคำขอแบบขนาน วัดหน่วยความจำขณะรันแทนที่จะสันนิษฐานว่าเท่ากับขนาดดาวน์โหลดของโมเดล ทำคำขอเดิมซ้ำหลังการเปลี่ยนแปลงการกำหนดค่า และเก็บการตรวจสอบคุณภาพควบคู่กับการวัดความเร็ว หากงานมีการสลับหน่วยความจำมากหรือแย่งทรัพยากรจากแอปพลิเคชันหลัก ให้ลดการทำงานพร้อมกันหรือใช้เครื่องที่เหมาะสมกว่า
วางแผนหน่วยความจำของโมเดลก่อนเพิ่มบริบท
ใช้จำนวนพารามิเตอร์คูณด้วยบิตการควอนไทซ์หารด้วยแปดเป็นค่าประมาณหยาบของไบต์เฉพาะน้ำหนัก จากนั้นเพิ่มรันไทม์ แคชบริบท/KV การทำงานพร้อมกัน และพื้นที่เผื่อของระบบปฏิบัติการ ไม่ใช่การรับประกันความจุ ใน Ollama คำขอแบบขนานและบริบทที่ใหญ่ขึ้นจะเพิ่มการใช้หน่วยความจำ ขณะที่งานในคิวอาจทำให้บริการที่ดูเหมือนปกติทำงานช้า เริ่มด้วยหนึ่งโมเดลและหนึ่งคำขอ บันทึกหน่วยความจำสูงสุด และเพิ่มการทำงานพร้อมกันเฉพาะเมื่อภาระงานผ่านเป้าหมายเวลาแฝงแล้ว
- บันทึกแท็กโมเดล เวอร์ชันรันไทม์ การควอนไทซ์ ความยาวพรอมต์ และขีดจำกัดเอาต์พุตพร้อมกับทุกการทดสอบประสิทธิภาพ
- แยกการโหลดแบบเริ่มต้นเย็นออกจากประสิทธิภาพคำขอแบบอุ่น พวกมันตอบคำถามเรื่องขนาดที่แตกต่างกัน
- หากโฮสต์สลับหน่วยความจำหรือโปรเซสถูกฆ่า ให้ลดการทำงานพร้อมกัน/คอนเท็กซ์ และตรวจสอบเหตุการณ์หน่วยความจำก่อนซื้อคอร์ CPU
- ตรวจสอบโมเดลที่โหลดไว้และการเติบโตของแคชเมื่อคำขอแรกเร็วแต่คำขอถัดไปหยุดชะงัก
# Inspect the model runner and host without changing its configuration.
ollama ps
free -h
df -hเอกสารอย่างเป็นทางการ: Ollama: หน่วยความจำ การทำงานพร้อมกัน และการกำหนดค่าเครือข่าย
ทดสอบ embeddings เป็นภาระงานแยกต่างหาก
โมเดล embedding เปลี่ยนข้อความอินพุตเป็นเวกเตอร์สำหรับการดึงข้อมูล มันไม่ใช่โปรไฟล์ทรัพยากรเดียวกับคำตอบที่สร้างขึ้นยาวๆ ใช้โมเดลเดียวและกลยุทธ์การประมวลผลล่วงหน้าอย่างสม่ำเสมอเมื่อทำดัชนีและสืบค้น ปลายทาง embed ของ Ollama ยอมรับข้อความหรือแบตช์ และสามารถปฏิเสธอินพุตที่ยาวเกินไปเมื่อ truncate เป็น false เลือกนโยบายการแบ่งชิ้นส่วนอย่างตั้งใจเพื่อไม่ให้เอกสารถูกตัดอย่างเงียบๆ ที่ขอบเขตที่ไม่สะดวก
- วัดประสิทธิภาพชุดการจัดทำดัชนีและคิวรีแบบโต้ตอบแยกกัน รวมถึงต้นทุนพื้นที่จัดเก็บและฐานข้อมูลเวกเตอร์
- เก็บชื่อโมเดลและมิติการฝังไว้กับดัชนี การเปลี่ยนแปลงมักต้องมีแผนการสร้างดัชนีใหม่โดยเจตนา
- ใช้ชุดการประเมินการดึงข้อมูลขนาดเล็ก: คำถามที่ทราบ เอกสารที่คาดหวัง และกรณีที่ควรส่งคืนผลลัพธ์ที่ไม่เกี่ยวข้อง
- ถือว่าพรอมป์ เอกสารที่จัดทำดัชนี และบันทึกการเข้าถึงเป็นที่เก็บข้อมูลแยกกัน โดยมีกฎการเข้าถึงและการลบของตัวเอง
เอกสารอย่างเป็นทางการ: Ollama: การฝัง API