ภาพรวม#
Backend.AI เป็นแพลตฟอร์มจัดการทรัพยากรคลาวด์ที่เป็นโอเพ่นซอร์ส ซึ่งทำให้การใช้คลัสเตอร์ทรัพยากรการคำนวณที่เสมือนจริงในสภาพแวดล้อมคลาวด์หรือในสถานที่ทำได้ง่าย เทคโนโลยีการสร้างเสมือน GPU ที่ใช้คอนเทนเนอร์ของ Backend.AI สนับสนุนการใช้ GPU อย่างมีประสิทธิภาพโดยการแบ่ง GPU ทางกายภาพหนึ่งตัวอย่างยืดหยุ่น เพื่อให้ผู้ใช้หลายคนสามารถใช้ร่วมกันได้ในเวลาเดียวกัน
Backend.AI มีการปรับแต่งที่มุ่งเน้นประสิทธิภาพหลายประเภทสำหรับการเรียนรู้ของเครื่องและคลัสเตอร์การประมวลผลที่มีประสิทธิภาพสูง พร้อมด้วยฟีเจอร์การจัดการและการวิจัยเพื่อตอบสนองผู้ใช้ที่หลากหลาย รวมถึงนักวิจัย ผู้ดูแลระบบ และ DevOps รุ่น Enterprise Edition เพิ่มการสนับสนุนการจัดการหลายโดเมน แผงควบคุมที่เฉพาะสำหรับซูเปอร์แอดมิน และปลั๊กอินการจำลองเสมือน GPU
แพ็คเกจไคลเอนต์ GUI ถูกจัดเตรียมไว้เพื่อให้สามารถใช้ประโยชน์จากฟีเจอร์ที่สนับสนุนโดยเซิร์ฟเวอร์ Backend.AI ได้อย่างง่ายดาย Backend.AI Web-UI เป็นไคลเอนต์ GUI ในรูปแบบของบริการเว็บหรือแอปพลิเคชันที่ยืนอยู่คนเดียว มันให้ส่วนติดต่อกราฟิกที่สะดวกสำหรับการเข้าถึงเซิร์ฟเวอร์ Backend.AI เพื่อใช้ทรัพยากรการคอมพิวเตอร์และจัดการกับสภาพแวดล้อมของมัน Backend.AI มีภาพที่ทำไว้ล่วงหน้าซึ่งช่วยให้สามารถสร้างเซสชันการคอมพิวเตอร์ได้ทันทีโดยไม่ต้องติดตั้งโปรแกรมแยกต่างหาก งานส่วนใหญ่สามารถทำได้ด้วยการคลิกเมาส์และการพิมพ์สั้น ๆ ซึ่งช่วยให้การใช้งานเป็นไปอย่างชาญฉลาดมากขึ้น
แนวคิดหลัก#

- ผู้ใช้: ผู้ใช้คือบุคคลที่เชื่อมต่อกับ Backend.AI และทำงาน ผู้ใช้จะถูกแบ่งออกเป็นผู้ใช้ทั่วไป, ผู้ดูแลโดเมน และผู้ดูแลระบบซุปเปอร์ตามสิทธิ์ของพวกเขา ในขณะที่ผู้ใช้ทั่วไปสามารถทำงานที่เกี่ยวข้องกับเซสชันการคอมพิวเตอร์ของตนได้เท่านั้น ผู้ดูแลโดเมนมีอำนาจในการทำงานภายในโดเมน และผู้ดูแลระบบซุปเปอร์สามารถทำงานเกือบทั้งหมดทั่วทั้งระบบ ผู้ใช้จะต้องเป็นสมาชิกของโดเมนหนึ่งและสามารถเป็นสมาชิกของโครงการหลายโครงการภายในโดเมนได้
- เซสชันการประมวลผล, คอนเทนเนอร์: สภาพแวดล้อมเสมือนที่แยกออก ซึ่งโค้ดของคุณทำงานอยู่ มันมีลักษณะเหมือนเซิร์ฟเวอร์ ลินุกซ์ จริงที่มีสิทธิ์ผู้ใช้ทั้งหมด และคุณไม่สามารถเห็นเซสชันของผู้ใช้อื่น แม้ว่ามันจะทำงานอยู่บนเซิร์ฟเวอร์เดียวกันกับเซสชันของคุณ Backend.AI ใช้เทคโนโลยีที่เรียกว่าคอนเทนเนอร์เพื่อดำเนินการสร้างสภาพแวดล้อมเสมือนนี้ คุณสามารถสร้างเซสชันการประมวลผลได้เฉพาะในโดเมนและโครงการที่คุณเป็นสมาชิกเท่านั้น
- โดเมน: นี่คือชั้นบนสุดสำหรับการควบคุมอำนาจและทรัพยากรที่มีการสนับสนุนโดย Backend.AI สำหรับบริษัทหรือองค์กร คุณสามารถมองว่าโดเมนเป็นพันธมิตรและตั้งค่าการอนุญาตและนโยบายทรัพยากรต่อโดเมน (หรือแต่ละพันธมิตร) ผู้ใช้ควรอยู่ในโดเมนเพียงหนึ่งเดียว และสามารถสร้างเซสชันหรือทำงานอื่น ๆ ได้เฉพาะในโดเมนของตนเอง โดเมนสามารถมีผู้ดูแลระบบโดเมนหนึ่งคนหรือมากกว่า ซึ่งสามารถตั้งค้านโยบายภายในโดเมนหรือจัดการเซสชันได้ ตัวอย่างเช่น หากคุณตั้งจำนวนทรัพยากรทั้งหมดที่พร้อมใช้งานในโดเมน ทรัพยากรของทุกคอนเทนเนอร์ที่สร้างโดยผู้ใช้ในโดเมนจะต้องไม่มากกว่าจำนวนที่ตั้งไว้
- โครงการ: ลำดับชั้นที่เป็นของโดเมน ซึ่งมีโครงการหลายโครงการในโดเมนเดียว คุณสามารถคิดว่าโครงการเป็นหน่วยการทำงานของโครงการ ผู้ใช้สามารถเป็นสมาชิกของโครงการหลายโครงการในเวลาเดียวกันภายในโดเมน เซสชันการคอมพิวเตอร์ต้องเป็นของโครงการหนึ่งโครงการ และผู้ใช้สามารถสร้างเซสชันได้ภายในโครงการของตนเองเท่านั้น ผู้ดูแลระบบโดเมนสามารถตั้งนโยบายหรือจัดการเซสชันสำหรับโครงการภายในโดเมนได้ ตัวอย่างเช่น หากคุณตั้งจำนวนทรัพยากรทั้งหมดที่มีอยู่ภายในโครงการ ทรัพยากรในทุกคอนเทนเนอร์ที่สร้างโดยผู้ใช้ในโครงการจะต้องไม่เกินจำนวนที่ตั้งไว้
- ภาพ: ทุกคอนเทนเนอร์มีการติดตั้งรันไทม์เฉพาะภาษาที่ติดตั้งล่วงหน้าและกรอบการคำนวณต่างๆ สถานะของภาพถ่ายดังกล่าวก่อนที่พวกเขาจะถูกเรียกใช้งานเรียกว่าภาพ คุณสามารถเลือกที่จะเรียกใช้ภาพที่ให้โดยผู้ดูแลคลัสเตอร์หรือสร้างภาพของคุณเองด้วยซอฟต์แวร์ที่คุณต้องการใช้และขอให้ผู้ดูแลลงทะเบียนมัน
- โฟลเดอร์เสมือน (vfolder): โฟลเดอร์ “คลาวด์” ที่สามารถเข้าถึงได้ตลอดเวลาและสามารถเชื่อมโยงในคอนเทนเนอร์ตามผู้ใช้รายบุคคล โดยไม่คำนึงถึงว่าโหนดใดที่คอนเทนเนอร์ทำงานอยู่ หลังจากสร้างโฟลเดอร์เสมือนของคุณเองแล้ว คุณสามารถอัปโหลดโค้ดโปรแกรม ข้อมูล ฯลฯ ของคุณล่วงหน้า และเชื่อมโยงโฟลเดอร์เมื่อคุณเรียกใช้เซสชันการคำนวณเพื่ออ่านเขียนได้เหมือนกับที่อยู่ในดิสก์ท้องถิ่นของคุณ
- บริการแอพพลิเคชั่น, พอร์ตบริการ: ฟีเจอร์ที่ช่วยให้คุณเข้าถึงแอพพลิเคชั่นของผู้ใช้ที่หลากหลาย (เช่น DIGITS, Jupyter Notebook, shell terminal, TensorBoard, ฯลฯ) ที่ทำงานภายในเซสชันการคำนวณ คุณไม่จำเป็นต้องรู้ที่อยู่ของคอนเทนเนอร์และหมายเลขพอร์ตโดยตรง แต่คุณสามารถใช้ CLI client หรือ GUI Web-UI ที่ให้มาเพื่อเข้าถึงเดมอนที่ต้องการของเซสชันโดยตรง
- Web-UI: โปรแกรมคล้าย GUI ที่ให้บริการเป็นเว็บหรือแอปพลิเคชันแบบสแตนด์อโลน คุณสามารถใช้บริการได้หลังจากเข้าสู่ระบบโดยระบุที่อยู่ของเซิร์ฟเวอร์ Backend.AI และกรอกข้อมูลบัญชีผู้ใช้
- wsproxy ท้องถิ่น: เซิร์ฟเวอร์พร็อกซีที่สร้างขึ้นในแอป Web-UI. wsproxy ท้องถิ่นจะแปลงคำขอ HTTP ทั่วไประหว่างเซิร์ฟเวอร์กับแอป Web-UI เป็น websocket และส่งข้อความไปยังกันและกัน หากแอป Web-UI สูญเสียการเชื่อมต่อกับ wsproxy หรือเซิร์ฟเวอร์ wsproxy หยุดทำงาน จะไม่สามารถเข้าถึงบริการต่างๆ เช่น Jupyter Notebook และ Terminal ได้.
- Web wsproxy: ในกรณีของ Web-UI ที่จัดเตรียมไว้ในเว็บ เซิร์ฟเวอร์ที่ติดตั้งมายังไม่สามารถใช้งานได้เนื่องจากธรรมชาติของเบราว์เซอร์ ในกรณีนี้ คุณสามารถใช้บริการต่าง ๆ เช่น Jupyter Notebook, Terminal, ฯลฯ ในสภาพแวดล้อมเว็บโดยการทำให้เซิร์ฟเวอร์ wsproxy เป็นเซิร์ฟเวอร์เว็บแยกที่สามารถทำให้แอป Web-UI มองเห็นเว็บ wsproxy ได้
รายละเอียดฟีเจอร์ของ Backend.AI#
การสนับสนุนตัวเร่งความเร็ว
| หมวดหมู่ | ความต้องการขั้นต่ำ | ฟีเจอร์เฉพาะ |
|---|---|---|
| AMD | MI250X ขึ้นไป | |
| Furiosa | Warboy / RNGD | |
| Graphcore | IPU | |
| Groq | Groqcard | |
| HyperAccel | ||
| Intel | Gaudi 2 และ 3 | การเรียกคืนทรัพยากรที่ไม่ได้ใช้งานอัตโนมัติตามการใช้หน่วยความจำ |
| การสนับสนุน NVIDIA | CUDA compute capability 7.5 ขึ้นไป | (องค์กร) การจำลองเสมือนและการแชร์ GPU แบบเศษส่วน (fGPU) สำหรับคอนเทนเนอร์ |
| - การอนุมานโมเดล: NVIDIA Hopper ขึ้นไป (ขึ้นอยู่กับการควอนไทซ์เป้าหมาย) | ||
| - การฝึกโมเดล: NVIDIA Ampere ขึ้นไป | มัลติ GPU ระดับคอนเทนเนอร์ | |
| รองรับ CUDA หลายเวอร์ชัน | ||
| รองรับ GPUDirect Storage | ||
| การรวม NGC (NVIDIA GPU Cloud) | ||
| การกำหนดค่าเครือข่าย GPU-GPU อัตโนมัติ | ||
| Rebellions | ATOM / ATOM+ | |
| SambaNova | SN30/40L | |
| Sapeon | X220 / X330 | |
| Tenstorrent | Wormhole |
ฟีเจอร์อื่นๆ
| หมวดหมู่ | ฟีเจอร์ |
|---|---|
| การขยายขนาด | การติดตั้งในสถานที่บนเซิร์ฟเวอร์เปล่าหรือ VM |
| ไฮบริดคลาวด์ (ภายในองค์กร + คลาวด์) | |
| โพลีคลาวด์ (การรวมกลุ่มคลาวด์หลายแห่ง) | |
| การจัดตารางเวลา | การจัดตารางเวลาและการติดตามที่รวมกันด้วย GUI ผู้ดูแลระบบ |
| นโยบายทรัพยากรต่อผู้ใช้ | |
| นโยบายทรัพยากรต่อคีย์แพร์ | |
| นโยบายทรัพยากรต่อโปรเจกต์ | |
| การจัดตารางเวลาตามช่องว่างในการให้บริการ | |
| (องค์กร) การจัดการทรัพยากรตามการใช้งาน | |
| การแบ่งกลุ่มคลัสเตอร์ | กลุ่มทรัพยากรตามสเปค H/W และการใช้งาน |
| (องค์กร) การควบคุมการเข้าถึงของผู้ใช้ไปยังกลุ่มทรัพยากร | |
| (องค์กร) การควบคุมการเข้าถึงโปรเจกต์ไปยังกลุ่มทรัพยากร | |
| ความปลอดภัย | การสร้าง Sandbox ผ่าน hypervisor/container |
| บันทึกการเข้าถึงสำหรับแต่ละผู้ใช้ | |
| บันทึกการใช้งานต่อเซสชัน (คอนเทนเนอร์) | |
| UI / UX | อินเทอร์เฟซเว็บ GUI |
| (องค์กร) อินเทอร์เฟซเว็บ GUI ของผู้ดูแลระบบ | |
| (องค์กร) อินเตอร์เฟซเว็บ MLOps pipeline | |
| การจัดการข้อมูล | EFS, NFS, SMB และระบบไฟล์ที่กระจาย (CephFS, GlusterFS, HDFS ฯลฯ) |
| (องค์กร) การรวมโซลูชันการจัดเก็บ: CephFS, Dell PowerScale, IBM SpectrumScale, NetApp, PureStorage, WEKA | |
| การควบคุมการเข้าถึงข้อมูลอย่างละเอียดตามผู้ใช้/โปรเจกต์ | |
| การจัดการโควตาพื้นที่จัดเก็บต่อผู้ใช้/โปรเจกต์* | |
| การสนับสนุนนักพัฒนา | ภาษาการเขียนโปรแกรมทั่วไป (Python, C/C++ ฯลฯ) |
| แอปเว็บแบบโต้ตอบ (Terminal, Jupyter, VSCode, MLFlow, Microsoft NNI, R Studio ฯลฯ) | |
| การให้บริการเซสชันการคำนวณหลายประเภท (แบบโต้ตอบ, แบบแบตช์, แบบอนุมาน) | |
| สำหรับนักวิทยาศาสตร์ข้อมูล | ผู้ใช้ที่รันไลบรารีหลายเวอร์ชัน (เช่น TensorFlow, PyTorch) |
| ผู้ใช้พร้อมกันของไลบรารีหลายเวอร์ชัน | |
| การอัปเดตไลบรารี ML เป็นระยะ | |
| การสนับสนุนลูกค้า (องค์กร) | การติดตั้งในสถานที่ (bare-metal / VM) |
| การสนับสนุนการกำหนดค่า (ภายในองค์กร + คลาวด์) | |
| การฝึกอบรมผู้ดูแลระบบ / ผู้ใช้ | |
| การสนับสนุนสำหรับการอัปเดตเป็นเวอร์ชันล่าสุด | |
| การพัฒนาลำดับความสำคัญและการยกระดับ | |
| อิมเมจคอนเทนเนอร์ที่ปรับแต่ง / เคอร์เนลหรือที่เก็บเคอร์เนล |
* สามารถใช้ได้เฉพาะกับพื้นที่เก็บข้อมูลที่รองรับการจัดการโควตาไดเรกทอรีเท่านั้น
เมนูที่สามารถเข้าถึงได้ตามบทบาทผู้ใช้#
- หน้าที่มีเครื่องหมาย
*อยู่ในเมนูการจัดการ - ฟีเจอร์สำหรับผู้ดูแลระบบเท่านั้นสามารถดูได้ที่เมนูผู้ดูแลระบบ
| หน้า \ บทบาท | ผู้ใช้ | ผู้ดูแลระบบ |
|---|---|---|
| เริ่มต้น | O | O |
| แดชบอร์ด | O | O |
| ข้อมูล | O | O |
| เซสชัน | O | O |
| โมเดลเซอร์วิส | O | O |
| นำเข้าและรัน | O | O |
| สภาพแวดล้อมของฉัน | O | O |
| แชท | O | O |
| โมเดลสโตร์ | O | O |
| สรุปทรัพยากร | O | O |
| สถิติ | O | O |
| ผู้ใช้* | X | O |
| สภาพแวดล้อม* | X | O |
| ตัวจัดตาราง* | X | O |
| นโยบายทรัพยากร* | X | O |
| ทรัพยากร* | X | O |
| การกำหนดค่า* | X | O |
| การบำรุงรักษา* | X | O |
| ข้อมูล* | X | O |
| การจัดการ RBAC* | X | O (ผู้ดูแลระบบระดับสูง) |
| โปรเจกต์* | X | O |