Mojo ภาษาโปรแกรมใหม่ที่สร้างโดย Chris Lattner ผู้สร้าง LLVM

โมโจลัง

Mojo เป็นภาษาโปรแกรมใหม่ที่รับประกันประสิทธิภาพที่ดีขึ้นสำหรับการพัฒนาแมชชีนเลิร์นนิง

เมื่อไม่กี่วันก่อนมีข่าวออกมาว่า คริสแลทเนอร์ ผู้ก่อตั้งและหัวหน้าสถาปนิกของ LLVM และ ทิมเดวิส, อดีตหัวหน้าโครงการ AI ที่ Google เปิดตัว "Mojo" ภาษาโปรแกรมใหม่ ขึ้นอยู่กับ Python ซึ่งแก้ไขการใช้งาน Python และปัญหาด้านประสิทธิภาพ

ว่ากันว่าโมโจ นี้ รวมความง่ายในการใช้งานสำหรับ R&D และการสร้างต้นแบบอย่างรวดเร็วโดยมีความเพียงพอสำหรับผลิตภัณฑ์ขั้นสุดท้ายที่มีประสิทธิภาพสูง แบบแรกทำได้โดยการใช้ไวยากรณ์ที่คุ้นเคยของภาษา Python และแบบหลังเกิดจากความสามารถในการคอมไพล์เป็นรหัสเครื่อง กลไกสำหรับการจัดการหน่วยความจำที่ปลอดภัย และการใช้เครื่องมือสำหรับการเร่งความเร็วของฮาร์ดแวร์ในการคำนวณ .

เกี่ยวกับ โมโจ

ภาษาโปรแกรมใหม่นี้ เน้นการใช้งานเพื่อพัฒนาแมชชีนเลิร์นนิงแต่ใช่e นำเสนอเป็นภาษาวัตถุประสงค์ทั่วไป ซึ่งขยายขีดความสามารถของภาษาไพธอนด้วยการเขียนโปรแกรมระบบและเหมาะสำหรับงานที่หลากหลาย

ตัวอย่างเช่น ภาษาใช้ได้กับพื้นที่ต่างๆ เช่น การประมวลผลประสิทธิภาพสูง การประมวลผลข้อมูล และการแปลงข้อมูล คุณสมบัติที่น่าสนใจของ Mojo คือความสามารถในการระบุสัญลักษณ์อีโมจิ “🔥” เป็นส่วนขยายสำหรับไฟล์โค้ด

โครงการได้รับการออกแบบให้เกี่ยวข้องกับทรัพยากรฮาร์ดแวร์ ของระบบที่มีอยู่ในระบบในการคำนวณ ตัวอย่างเช่น สามารถใช้ GPU, ตัวเร่งความเร็วการเรียนรู้ของเครื่องเฉพาะ และคำสั่งการประมวลผลแบบเวกเตอร์ (SIMD) เพื่อเรียกใช้แอปพลิเคชัน Mojo และประมวลผลแบบขนานได้

เหตุผลสำหรับการพัฒนาชุดย่อยแยกต่างหากของภาษา Python แทนที่จะเข้าร่วมการเพิ่มประสิทธิภาพ CPython ที่มีอยู่นั้นถูกอ้างถึงเป็น:

วิธีการสร้าง การรวมความสามารถในการตั้งโปรแกรมของระบบ และการใช้สถาปัตยกรรมภายในที่แตกต่างกันโดยพื้นฐาน ซึ่งช่วยให้สามารถเรียกใช้โค้ดบน GPU และตัวเร่งฮาร์ดแวร์ต่างๆ ในขณะเดียวกันผู้พัฒนา Mojo ตั้งใจที่จะสนับสนุน CPython ให้มากที่สุด

Mojo สามารถใช้ได้ทั้งในโหมดการตีความ JIT และสำหรับการคอมไพล์เป็นไฟล์เรียกทำงาน (ทอท.ล่วงหน้า). คอมไพเลอร์มีเทคโนโลยีสมัยใหม่ในตัวสำหรับการเพิ่มประสิทธิภาพด้วยตนเอง การแคช และการคอมไพล์แบบกระจาย

รหัส ซอร์สโค้ดในภาษา Mojo จะถูกแปลงเป็นโค้ดกลางระดับต่ำ MLIR (การเป็นตัวแทนระดับกลางหลายระดับ) พัฒนาโดยโครงการ LLVM และมีฟังก์ชันเพิ่มเติมเพื่อเพิ่มประสิทธิภาพการประมวลผลกราฟการไหลของข้อมูล

การใช้กลไกฮาร์ดแวร์เพิ่มเติมเพื่อเพิ่มความเร็วในการคำนวณ ช่วยให้คุณได้รับประสิทธิภาพที่เหนือกว่าแอปพลิเคชัน C/C++ ด้วยการประมวลผลแบบเข้มข้น

Chris lattner รับผิดชอบในการสร้างโครงการมากมายที่เราทุกคนพึ่งพาในปัจจุบัน แม้ว่าเราอาจไม่เคยได้ยินเกี่ยวกับทุกสิ่งที่เขาสร้างด้วยซ้ำ ในฐานะส่วนหนึ่งของวิทยานิพนธ์ระดับปริญญาเอกของเขา เขาเริ่มพัฒนา LLVM ซึ่งเปลี่ยนวิธีการสร้างคอมไพเลอร์โดยพื้นฐาน และปัจจุบันเป็นรูปแบบพื้นฐานของระบบนิเวศทางภาษาศาสตร์ที่ใช้กันอย่างแพร่หลายมากที่สุดในโลกหลายแห่ง

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

เมื่อประเมินประสิทธิภาพในด้านการแก้ไขปัญหาการเรียนรู้ของเครื่อง สแต็ก AI ของ Modular Inference Engine ที่เขียนด้วยภาษา Mojo เมื่อเทียบกับโซลูชันที่ใช้ไลบรารี TensorFlow พบว่าเร็วกว่า 3 เท่าบนระบบที่มีโปรเซสเซอร์ Intel

อย่างไรก็ตาม Chris เห็นว่า C และ C++ ไม่ได้ใช้ประโยชน์จากพลังของ LLVM อย่างเต็มที่ ดังนั้นในขณะที่ทำงานที่ Apple เขาจึงออกแบบภาษาใหม่ที่เรียกว่า "Swift" ซึ่งเขาอธิบายว่าเป็น "syntax sugar สำหรับ LLVM" 

เป็นมูลค่าการกล่าวขวัญว่า ภาษารองรับการพิมพ์แบบคงที่และคุณสมบัติหน่วยความจำระดับต่ำที่ปลอดภัย ซึ่งชวนให้นึกถึงคุณสมบัติของ Rust เช่น การติดตามอายุอ้างอิงและการยืมผันแปร (ตัวตรวจสอบสินเชื่อ)

นอกเหนือจากวิธีการใช้งานอย่างปลอดภัยด้วยพอยน์เตอร์แล้ว ภาษา ยังมีคุณสมบัติสำหรับการทำงานระดับต่ำ ตัวอย่างเช่น สามารถเข้าถึงหน่วยความจำได้โดยตรงในโหมดไม่ปลอดภัยโดยใช้ประเภทตัวชี้ เรียกใช้คำสั่ง SIMD แต่ละตัว หรือเข้าถึงส่วนขยายของฮาร์ดแวร์ เช่น TensorCores และ AMX

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

โค้ดโอเพ่นซอร์สของคอมไพเลอร์ JIT และการพัฒนาที่เกี่ยวข้องกับโครงการอื่นๆ มีการวางแผนหลังจากการออกแบบสถาปัตยกรรมภายในเสร็จสมบูรณ์แล้ว (รูปแบบการพัฒนาสำหรับต้นแบบการทำงานแบบ Closed-door คล้ายกับช่วงเริ่มต้นของการพัฒนาของ LLVM, Clang และ Swift)

เนื่องจากไวยากรณ์ของ Mojo ใช้ Python และระบบประเภทใกล้เคียงกับ C/C++ จึงมีแผนในอนาคตที่จะพัฒนาชุดเครื่องมือเพื่อให้ง่ายต่อการแปลโปรเจ็กต์ที่มีอยู่ที่เขียนด้วย C/C++ และ Python เป็น Mojo เช่นกัน ในการพัฒนาโครงการแบบผสมผสานที่รวมรหัส Python และ Mojo

สุดท้ายนี้ หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   jaime dijo

    น่าสนใจ แครนนี้…. (ไม่มีสำเนียง)