1 คะแนน โดย GN⁺ 2023-12-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

วิธีที่ดีที่สุดในการลงทุนเพื่อพัฒนาทักษะปัญญาประดิษฐ์/แมชชีนเลิร์นนิง

  • คำถามนี้ถามถึงความเห็นเกี่ยวกับวิธีที่ดีที่สุดในการลงทุนเวลาและพลังงาน เมื่อมีเวลาประมาณวันละ 1 ชั่วโมงเพื่อพัฒนาทักษะด้านปัญญาประดิษฐ์ (AI)/แมชชีนเลิร์นนิง (ML)
  • มีการเสนอแนวทางที่หลากหลาย พร้อมขอให้ยกตัวอย่างหรือคำแนะนำที่เป็นรูปธรรมสำหรับแต่ละแนวทาง
    • สร้างโปรเจ็กต์ขนาดเล็ก (ควรสร้างอะไร?)
    • อ่านบล็อก/จดหมายข่าว (ควรอ่านอะไรบ้าง?)
    • เรียนคอร์ส (ควรเรียนคอร์สไหน?)
    • อ่านตำรา (ควรอ่านหนังสือเล่มไหน?)
    • เข้าร่วมการแข่งขัน Kaggle
    • มีส่วนร่วมในฟอรัม/คอมมูนิตี้ AI/ML
    • ผสมผสานวิธีข้างต้นเข้าด้วยกัน (ถ้าเป็นไปได้ ช่วยแชร์สัดส่วนเวลา/น้ำหนักด้วย)
  • คำถามนี้มักถูกถามเพื่อช่วยให้วิศวกรซอฟต์แวร์สามารถสร้างความเชี่ยวชาญในสาย ML ได้

ความเห็นของ GN⁺

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

1 ความคิดเห็น

 
GN⁺ 2023-12-16
ความคิดเห็นจาก Hacker News
  • การแบ่งปันประสบการณ์ด้านปริญญา

    • สำเร็จการศึกษาระดับปริญญาโทด้าน ML (แมชชีนเลิร์นนิง) จากมหาวิทยาลัยที่ดี สิ่งที่เรียนจากที่มหาวิทยาลัยสามารถเรียนเองได้ก็จริง แต่สถาบันการศึกษามอบสมาธิและแรงกดดันที่ทำเองคนเดียวไม่ได้
    • การลงมือทำตามงานวิจัยเป็นประสบการณ์ที่ได้เรียนรู้มากที่สุด การบรรยายและตำราเป็นเพียงคำพูด แต่การลงมือทำจริงให้ความรู้ที่ลึกกว่ามาก
    • สามารถแนะนำหลักสูตรได้หลากหลาย แต่การแก้ปัญหาอย่างมีสมาธิ 1 ชั่วโมงคือสิ่งที่ดีที่สุด
    • ข้อเสนอโปรเจ็กต์บางอย่าง: ฝึกเบบี้นิวรัลเน็ตสำหรับเรียนรู้ฟังก์ชันง่าย ๆ, ตัวจำแนกตัวเลข MNIST, fine-tune GPT2 ด้วยคอร์ปัสเฉพาะทาง, ฝึก Siamese network เพื่อวัดความคล้ายคลึงกันทางภาพ เป็นต้น
    • แนะนำว่าอย่าเสียเวลาเขียนนิวรัลเน็ตและ backpropagation ของตัวเอง แต่ให้ไปเรียนรู้วิธีใช้เครื่องมือ profiling และ debugging
  • คำแนะนำจากนักวิจัย AI และผู้ก่อตั้งสตาร์ตอัปสายเทคนิค

    • หากพูดถึงความก้าวหน้าล่าสุด ขอแนะนำว่าอย่าเดินตามเส้นทางแบบเป็นเส้นตรง ให้เรียนหนึ่งคอร์สและทำโปรเจ็กต์เล็ก ๆ สักชิ้น พร้อมกำหนดเวลาและพยายามทำให้เสร็จ
    • ค้นหาสาขางานวิจัยที่น่าสนใจ รันโค้ดจาก GitHub ที่เกี่ยวข้อง แล้วหาวิธีปรับปรุงหรือวิธีนำไปใช้ในแอป
    • แนะนำให้เรียนคอร์ส fast.ai, อ่านบล็อกโพสต์ของ Karpathy, และเรียนคอร์ส Stanford cs231n และ cs234 เป็นต้น
    • หาโปรเจ็กต์ที่ตัวเองสนใจแล้วลองรันมัน
  • ความสำคัญของการนำ ML ไปใช้จริง

    • คอมเมนต์จำนวนมากอาจเน้นส่วน low-level ของ ML แต่สิ่งที่ ML ต้องการในตอนนี้คือคนฉลาดในระดับ implementation
    • การใช้เทคโนโลยี LLM ที่มีอยู่เพื่อสร้างซอฟต์แวร์ที่คนทั่วไปใช้งานได้ เป็นงานที่สำคัญและจำเป็น
    • การฝึกฝนในชีวิตประจำวัน ได้แก่ การสเก็ตช์แอปพลิเคชัน, การจัดโครงสร้าง prompt และ function calling, การเรียนรู้วิธีทำการตลาดสิ่งที่สร้างขึ้น, และการสร้างเครื่องมือที่พาจากศูนย์ไปสู่หนึ่ง
    • ตัวอย่างเช่น การนำเทคนิค common-place book ยุคอริสโตเติลมาใช้กับยุคของ embedding สมัยใหม่ และการทำความเข้าใจสเปก MD แบบล้วน ๆ พร้อมผสานโมเดลการสร้างแบบสตรีมมิง
  • เปลี่ยน AI/ML ให้เป็นงานประจำวัน

    • หาวิธีวาง AI/ML ไว้บนเส้นทางสำคัญ เหมือนกับการเรียนภาษาใหม่ ไม่มีอะไรได้ผลเท่ากับการดื่มด่ำอย่างเต็มรูปแบบ
    • หากยังมีพื้นฐานไม่มากพอที่จะได้งานในสายนี้ การหา passion project และคิดหาวิธีแก้ปัญหาใหม่ ๆ อยู่เสมอคือทางเลือกที่ดีรองลงมา
    • สุดท้าย ให้พิจารณากลับไปเรียน แม้จะใช้เวลามากกว่าวันละ 1 ชั่วโมง แต่สามารถเห็นผลลัพธ์ที่เร็วและชัดเจนกว่ากลยุทธ์การเรียนรู้อื่นมาก
  • โรดแมปของนักเรียน ML/AI ทั่วไป

    • ต้องมีความรู้พื้นฐานล่วงหน้า เช่น คณิตศาสตร์และวิทยาการคอมพิวเตอร์ ซึ่งโดยทั่วไปจะรวมถึงแคลคูลัส พีชคณิตเชิงเส้น ความน่าจะเป็นและสถิติ การเขียนโปรแกรม การเขียนโปรแกรมเชิงวัตถุ โครงสร้างข้อมูล และอัลกอริทึม
    • หลังจากเรียนคอร์ส ML พื้นฐานแล้ว จึงค่อยไปต่อกับส่วนพื้นฐานของ DL (ดีปเลิร์นนิง) ซึ่งเปลี่ยนแปลงอย่างรวดเร็ว
    • จากนั้นจะแยกเป็นสาย ML engineering และ ML research โดยสายวิศวกรรมจะเน้นเรื่องเทคนิคที่เกี่ยวข้องกับ ML pipeline ส่วนสายวิจัยจะโฟกัสที่ตัววิทยาศาสตร์เอง
    • อย่างที่หลายคนพูดไว้ การใช้เครื่องมือเพื่อทำ implementation นั้นทั้งสนุกและมีประโยชน์ หากพยายาม implement ทุกโมเดลด้วยตัวเองทั้งหมด อาจเจอความยากลำบากอย่างมาก
    • เมื่อเรียน ML แบบ "ใช้งานจริง" มักพยายาม implement โมเดลในลักษณะที่ป้อนข้อมูลผ่าน API และรับผลลัพธ์กลับมาได้ ซึ่งรวมถึงความท้าทายด้านการจัดการข้อมูล การพัฒนาซอฟต์แวร์และการโฮสต์ ตลอดจนการพัฒนา API
  • การตระหนักถึงข้อจำกัดของ AI/ML

    • อย่าปล่อยจินตนาการไปไกลเกินไป หรือมั่นใจเกินจริงกับสิ่งที่ AI/ML ทำได้
    • เคยทำโปรเจ็กต์ ML อยู่ 2 ปีในบริษัทใหญ่ แต่พบว่าไม่ได้ดีไปกว่าวิธีการทางสถิติแบบเดิม และเพราะไม่สามารถเข้าใจ "กล่องดำ" ของ ML ได้ จึงไม่มีการปรับปรุงกระบวนการอย่างมีนัยสำคัญ
    • งาน ML จำนวนมากเป็นเหมือนคำตอบที่ออกมาก่อนแล้วค่อยไปหาปัญหามารองรับ
    • การเข้าใจวิธีใช้ฐานข้อมูล (SQL และ NoSQL) เป็นสิ่งสำคัญ หากต้องการใช้ ML อย่างมีประสิทธิภาพ จำเป็นต้องมีทักษะยอดเยี่ยมในการเขียนโปรแกรมกับข้อมูลปริมาณมากให้มีประสิทธิภาพสูง
  • วิธีศึกษา AI/ML

    • อ่าน "An Introduction to Statistical Learning with Applications in R/Python" ของ Hastie และคณะตั้งแต่ต้นจนจบ พร้อมทำความเข้าใจแนวคิด/ไอเดีย/นัยสำคัญ/ความละเอียดอ่อนที่อธิบายไว้
    • เตรียมหนังสือคณิตศาสตร์/สถิติไว้ข้างตัว และเมื่อเจอเทคนิคคณิตศาสตร์ที่ไม่รู้จัก ให้เปิดหนังสือเหล่านี้ทันทีหรือดูวิดีโอ YouTube สั้น ๆ เพื่อเข้าใจแนวคิดและวิธีใช้
    • นี่คือวิธีที่ง่ายและตรงที่สุดในการศึกษาและทำความเข้าใจ AI/ML สิ่งอื่นทั้งหมดที่กล่าวถึงในเธรดนี้ควรทำหลังจากทำสิ่งนี้เสร็จแล้ว
  • การผสาน ML กับวิศวกรรม

    • ลองพิจารณาจุดเชื่อมระหว่าง ML กับวิศวกรรม
    • พิจารณาเรื่อง ML ops, การประยุกต์ใช้ DevOps, การทดสอบและ ci/cd ในโลก ML, วิธีเทรนบน GPU หลายตัว และโดยเฉพาะอย่างยิ่งวิธีโฮสต์ LLM ขนาดใหญ่ในต้นทุนต่ำ
    • ในแวดวงวิชาการมีผู้สมัครที่มีพื้นฐานทางวิชาการแข็งแกร่งอยู่หลายร้อยคน แต่มีวิศวกรมากประสบการณ์ที่สามารถทำให้ความทะเยอทะยานของพวกเขาเป็นจริงได้อยู่น้อยมาก
  • โฟกัสที่ดีปเลิร์นนิง

    • LLM ส่วนใหญ่ใช้สถาปัตยกรรม transformer ซึ่งสามารถเรียนรู้เชิงภาพได้ และเรียนผ่านบล็อกโพสต์หรือบทความและสื่อของ Andrej Karpathy ได้
    • อ่านสรุปประจำวันอาทิตย์ทุกสัปดาห์เพื่ออัปเดตงานวิจัยใหม่ที่เผยแพร่ทุกสัปดาห์
    • หากต้องการเรียนรู้ด้านวิศวกรรมเพิ่มเติม อาจเข้าร่วมเซิร์ฟเวอร์ Discord ของ EleutherAI หรือติดตาม GitHub Discussions ของโปรเจ็กต์อย่าง llama.cpp
    • วิธีพัฒนาที่มีประสิทธิภาพที่สุดน่าจะเป็นการ re-implement งานวิจัยหลักของวงการ เพราะมีเป้าหมายชัดเจน มีสัญญาณความสำเร็จที่ชัด และมี implementation มากมายให้ตรวจสอบ เปรียบเทียบ และเรียนรู้
  • ควิซสำหรับผู้เริ่มต้น LLM

    • เพิ่งสอนบทนำเกี่ยวกับ LLM ให้กับนักศึกษาบัณฑิตศึกษาที่ไม่ได้มาจากสาย CS (ชีวการแพทย์) และอยากมอบควิซการบ้าน แต่หาอันที่ดีไม่เจอ จึงสร้างควิซแบบปรนัยขึ้นมาเอง ควิซนี้ "โหด" และถ้าไม่มีความเข้าใจที่แน่นพอก็อาจพลาดได้ หลายคำถามมีความละเอียดอ่อนที่ช่วยทดสอบความเข้าใจและช่วยให้เรียนรู้จากการพยายามหาคำตอบที่ถูกต้อง เป็น Google Forms ที่ไม่เก็บอีเมล