15

รากฐานของการสำรวจวิวัฒนาการแบบขนานความเข้มข้นสูง

AI999第4课:现代计算底座与张量化并行演化
00:00

เหตุที่ EvoX สามารถรองรับการสำรวจวิวัฒนาการแบบขนานความเข้มข้นสูงรากฐานของมันสรุปได้เป็นประโยคเดียวว่า:จากรายการตัวเลือกสู่กราฟการคำนวณแบบเทนเซอร์การทดลองวิวัฒนาการแบบดั้งเดิมมองแต่ละปัจเจกเป็นออบเจ็กต์ Python ที่แยกกัน สร้างโมเดลและประเมินทีละตัว;เมื่อขนาดของตัวเลือกขยายไปถึงหลักพันหลักหมื่น คอขวดที่แท้จริงมักไม่ใช่อัลกอริทึมอีกต่อไป แต่เป็นการจัดตารางเวลา การซิงโครไนซ์ และค่าใช้จ่าย I/O ต่อตัวเลือก วิธีของ EvoX คือ:จัดระเบียบประชากร การประเมิน และสถานะขณะรันใหม่ให้เป็นเทนเซอร์ที่คำนวณได้ทั้งชุด แล้วให้ Runtime แบบรวมศูนย์จัดตารางไปยัง GPU และพลังประมวลผลแบบต่างสถาปัตยกรรมเพื่อรันเป็นชุด จึงรองรับการค้นหาวิวัฒนาการแบบขนานขนาดใหญ่ หลายวัตถุประสงค์ และหลายคำตอบพร้อมกัน

รากฐานของการสำรวจวิวัฒนาการแบบขนานความเข้มข้นสูงจากรายการตัวเลือกสู่กราฟการคำนวณแบบเทนเซอร์ · จัดตารางรันเป็นชุดโดย Runtime แบบรวมศูนย์สถาปัตยกรรมรวม · อัลกอริทึม ปัญหา เวิร์กโฟลว์ และการมอนิเตอร์แยกจากกันอัลกอริทึมปัญหาเวิร์กโฟลว์และการมอนิเตอร์รายการตัวเลือกออบเจ็กต์ Python ทีละปัจเจกปัจเจก 1ปัจเจก 2ปัจเจก Nลูป CPU แบบอนุกรมค่าใช้จ่ายการจัดตารางและ I/O ต่อตัวเลือกจัดเป็นชุดฐานรากรวม · ตัวจัดตาราง Runtimeกราฟการคำนวณแบบเทนเซอร์:จัดตารางเป็นชุด · โอเปอเรเตอร์ขนาน · ปรับแต่งการคอมไพล์种群张量评价张量状态张量ปัจเจกถูกจัดเป็นเทนเซอร์ตามมิติ批次 ความแตกต่างถูกแบกไว้โดยมิติของเทนเซอร์จัดตารางGPU และพลังประมวลผลแบบต่างสถาปัตยกรรมรันเป็นชุดแบบขนาน · ขยายขนาดประชากรได้บริหารพลังประมวลผลต่างสถาปัตยกรรมแบบรวมศูนย์ก้าวข้ามคอขวดแบบอนุกรมแทนที่ลูป CPU แบบอนุกรมทีละตัวเลือก เร่งความเร็วขนาดใหญ่ด้วย GPU และพลังประมวลผลต่างสถาปัตยกรรมการประยุกต์หลายสาขา · การสำรวจวิวัฒนาการแบบขนานความเข้มข้นสูงสำรวจตัวเลือก วัตถุประสงค์ และการทำซ้ำแบบสุ่มได้มากขึ้นในเวลานาฬิกาเดียวกัน

สามวัตถุหลักที่ทำเป็นเทนเซอร์

การทำเป็นเทนเซอร์ไม่ใช่การปรับแต่งจุดใดจุดหนึ่ง แต่ครอบคลุมสามชั้นตลอดวงจรวิวัฒนาการ หากชั้นใดชั้นหนึ่งย้อนกลับไปใช้ลูปทีละออบเจ็กต์ ระดับความขนานก็จะติดขัดที่ชั้นนั้น

  • การทำประชากรเป็นเทนเซอร์:พารามิเตอร์ ยีน หรือกลยุทธ์ของปัจเจกไม่วนลูปทีละออบเจ็กต์ Python อีกต่อไป แต่จัดตามมิติ批次ให้เป็นเทนเซอร์ ความแตกต่างระหว่างปัจเจกถูกแบกไว้โดยมิติหนึ่งของเทนเซอร์
  • การทำการประเมินเป็นเทนเซอร์:ค่าความเหมาะสม ข้อจำกัด ตัวชี้วัดหลายวัตถุประสงค์ ตลอดจนผลการประเมินจากการจำลองหรือโมเดลสามารถคำนวณเป็นชุดได้ ตัวเลือกในชุดเดียวกันใช้การเรียกอุปกรณ์เพียงครั้งเดียว ช่วยลดค่าใช้จ่ายการจัดตารางและ I/O ต่อตัวเลือกได้อย่างมีนัยสำคัญ
  • การทำสถานะเป็นเทนเซอร์:สถานะขณะรัน เช่น รุ่นของวิวัฒนาการ ซีดสุ่ม แคช และตัวชี้วัดการมอนิเตอร์ ถูกบริหารแบบรวมศูนย์ ทำให้การทดลองหลังการเร่งความเร็วแบบขนานยังคงทำซ้ำได้และติดตามได้。

การทำเป็นกราฟการคำนวณและสถาปัตยกรรมรวม

การยกระดับรายการตัวเลือกให้เป็นกราฟการคำนวณแบบเทนเซอร์แล้ว โอเปอเรเตอร์ขนานและการปรับแต่งการคอมไพล์จึงมีพื้นที่ให้ทำงาน:ขนาดประชากรและระดับความขนานของการประเมินสามารถขยายตามพลังประมวลผลได้ แทนที่จะถูกล็อกตายด้วยลูปของอินเทอร์พรีเตอร์ สิ่งที่มาคู่กันคือสถาปัตยกรรมรวม——อัลกอริทึม ปัญหา เวิร์กโฟลว์และการมอนิเตอร์ ตัวจัดตาราง Runtime แยกจากกัน:อัลกอริทึมประกอบได้ ปัญหาเสียบปลั๊กได้ พลังประมวลผลต่างสถาปัตยกรรมบริหารแบบรวมศูนย์ ผู้ใช้ไม่ต้องกังวลเรื่องการจัดตารางระดับล่างขณะเขียนอัลกอริทึม

ผลประโยชน์ที่ตรงที่สุดของฐานรากนี้คือก้าวข้ามคอขวดแบบอนุกรม:แทนที่ลูป CPU แบบอนุกรมดั้งเดิม บรรลุการเร่งความเร็วขนาดใหญ่บน GPU และพลังประมวลผลต่างสถาปัตยกรรม มอบพื้นฐาน吞吐ที่มั่นคงให้กับการสำรวจความเข้มข้นสูง;ในเวลานาฬิกาเดียวกัน สามารถสำรวจตัวเลือก กลุ่มวัตถุประสงค์ หรือการทำซ้ำแบบสุ่มได้มากขึ้น

ตัวอย่างเช่น สมมติการทดลองวิวัฒนาการหนึ่งครั้งต้องประเมินตัวเลือกจำนวนมาก วิธีดั้งเดิมคือเรียกฟังก์ชันประเมินทีละตัวบน CPU การจัดตาราง การซิงโครไนซ์ และลูป Python อาจครองเวลาเกือบทั้งหมด;EvoX ส่งเมทริกซ์ตัวเลือกเข้าอุปกรณ์เป็นชุด ให้ Runtime จัดตารางโอเปอเรเตอร์และการประเมิน พร้อมบันทึกสถานะและตัวชี้วัดการมอนิเตอร์แบบรวมศูนย์ ทำให้ในเวลานาฬิกาเดียวกันสามารถสำรวจตัวเลือก กลุ่มวัตถุประสงค์ หรือการทำซ้ำแบบสุ่มได้มากขึ้น นี่คือการสนับสนุนเชิงวิศวกรรมที่จำเป็นเมื่อปัญหา Multi-objective ในโลกจริง (เช่น การออกแบบปีกแบบ Supercritical ที่อัตราส่วนแรงยกต่อแรงต้านขณะครูซกับค่าสัมประสิทธิ์แรงยกวิกฤต Buffet ต่างช่วงชิงกัน) ต้องเก็บชุดตัวเลือกที่หลากหลาย

ความหมายในทางปฏิบัติ
เมื่อวิศวกรรมลูปและการจัดตารางระดับล่างถูกกลืนเข้าในฐานราก นักวิจัยสามารถหันความสนใจไปที่การสร้างโมเดลปัญหา การชั่งน้ำหนักวัตถุประสงค์ และการออกแบบสมมติฐานการทดลอง โดยไม่ต้องจมอยู่กับวิศวกรรมลูปและการจัดตารางระดับล่างก่อน การแบ่งงานเช่นนี้คือเงื่อนไขเบื้องต้นของการสำรวจวิวัฒนาการแบบขนานความเข้มข้นสูง และยังเป็นพื้นฐานเชิงวิศวกรรมสำหรับการพัฒนาวิธีการในอนาคตและการวิจัยแบบ AI Native