1 คะแนน โดย GN⁺ 2023-07-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • OpenWorm เป็นโปรเจกต์ที่มีเป้าหมายสร้างแบบจำลองเชิงคำนวณอย่างครอบคลุมของ Caenorhabditis elegans (C. elegans) ซึ่งเป็นไส้เดือนฝอยขนาดจุลทรรศน์
  • แนวทางที่ใช้คือ การสร้างแบบจำลองจากล่างขึ้นบน โดยจำลองข้อมูลจากการทดลองทางวิทยาศาสตร์ที่ดำเนินการตลอด 10 ปีที่ผ่านมา เพื่อสังเกตว่าพฤติกรรมของหนอนจะปรากฏขึ้นหรือไม่
  • คอนเทนเนอร์ Docker เป็นสภาพแวดล้อมที่รวมองค์ประกอบหลักของการจำลองไว้ด้วยกันและรันบนเครื่องโลคัล
    • รันโมเดลระบบประสาท c302
    • ใช้เอาต์พุตของโมเดลระบบประสาทเพื่อรันโมเดลร่างกายหนอนแบบ 3D Sibernetic แบบขนาน
    • สร้างกราฟการทำงานของโมเดลระบบประสาทและร่างกาย
    • สร้างวิดีโอเอาต์พุตของโมเดลร่างกาย
  • เวลารันของการจำลองเริ่มต้นถูกจำกัดไว้เพื่อให้ใช้เวลารันอย่างเหมาะสม และจะแสดงเพียงเอาต์พุตบางส่วนที่คิดเป็นประมาณ 5% ของเวลารัน เมื่อเทียบกับเอาต์พุตตัวอย่าง {p:5}
  • ข้อกำหนดในการรันคือมี พื้นที่ว่างอย่างน้อย 60GB, RAM อย่างน้อย 2GB, สภาพแวดล้อมที่สามารถโคลน git repository ได้ และติดตั้ง Docker
  • ลำดับการรันประกอบด้วย git clone, ./build.sh (ไม่บังคับ), ./run.sh, stop.sh หลังเสร็จสิ้น และตรวจสอบไดเรกทอรี output บนเครื่องโลคัล
  • หากข้าม ./build.sh ระบบจะดาวน์โหลดอิมเมจ Docker รุ่นล่าสุดจาก OpenWorm Docker hub
  • สามารถเปลี่ยนเวลาในการจำลองเป็นหน่วยมิลลิวินาทีได้ด้วยอาร์กิวเมนต์ -d [num] โดยค่าเริ่มต้นคือ 15 และค่าที่ใช้สร้างวิดีโอตัวอย่างแบบเต็มคือ 5000
  • ./run-shell-only.sh ใช้สำหรับล็อกอินเข้าไปในคอนเทนเนอร์ก่อนรัน master_openworm.py เพื่อดูหรือตรวจแก้โค้ดเบสที่เช็กเอาต์ไว้และภายในระบบที่ติดตั้งอยู่
  • หากต้องการเปลี่ยนรายการติดตั้งให้แก้ Dockerfile และหากต้องการเปลี่ยนรายการที่รันให้แก้ master_openworm.py จากนั้นต้องรัน build.sh เพื่อรีบิลด์อิมเมจโลคัล
  • เอาต์พุตเริ่มต้นจะส่งออกเพียงรูปภาพและวิดีโอบางส่วนไปยังระบบโฮสต์ ส่วนเอาต์พุตการจำลองทั้งหมดหรือข้อมูลอย่าง worm_motion_log.txt ต้องคัดลอกจากคอนเทนเนอร์ Docker
  • stop.sh จะลบคอนเทนเนอร์และไฟล์ที่เกี่ยวข้อง ดังนั้นไม่ควรรันก่อนดึงข้อมูลออกมา
  • เอกสารเพิ่มเติมมีให้ที่ http://docs.openworm.org และใน repository มี high-level issues และ milestones สำหรับติดตามภาพรวมของโปรเจกต์

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

 
GN⁺ 2023-07-08
ความคิดเห็นจาก Hacker News
  • นิวรอน 302 ตัว อาจฟังดูไม่ได้น่าทึ่งนักสำหรับคนที่คุ้นกับโครงข่ายประสาทที่มีพารามิเตอร์มากกว่า 7 พันล้านตัว
    แต่สิ่งที่โครงข่ายแบบนั้นมีเหมือนกับนิวรอนชีวภาพ ก็คงใกล้เคียงกับความเหมือนกันระหว่างจักรยานกับม้า ทั้งคู่เคลื่อนที่ได้ค่อนข้างเร็ว แต่หนึ่งอย่างวิวัฒน์มาผ่านการคัดเลือกโดยธรรมชาติอันโหดร้ายยาวนานกว่าพันล้านปี ส่วนอีกอย่างเป็นเครื่องจักรโลหะที่ปรับแต่งอย่างแม่นยำเพื่อจุดประสงค์เดียว
    นิวรอนก็เช่นกัน มันคือเครื่องจักรชีวภาพที่ซับซ้อนมาก มีคู่เบส DNA หลายพันล้านคู่ที่ควบคุมพฤติกรรมของมัน และ พฤติกรรมเกิดใหม่ ของนิวรอนในทั้งระบบชีวภาพและระบบ AI นั้นน่าสนใจมาก

    • นอกจากนี้ นิวรอนเหล่านี้ยังค่อนข้างต่างจากนิวรอนของสัตว์เลี้ยงลูกด้วยนมด้วย
      “นิวรอนเหล่านี้ไม่ยิงศักย์งาน และไม่แสดงออกของช่องโซเดียมแบบ voltage-gated” [1]
      ดังนั้นยิ่งน่าสนใจขึ้นไปอีกที่มันสามารถเกิดการเสพติดนิโคตินได้
      “C. elegans สามารถใช้ศึกษาการพึ่งพานิโคตินได้ เพราะมันแสดงการตอบสนองทางพฤติกรรมต่อนิโคตินคล้ายกับสัตว์เลี้ยงลูกด้วยนม ซึ่งรวมถึงการตอบสนองเฉียบพลัน ความทนยา อาการถอน และการไวต่อสิ่งกระตุ้น” [1]
      [1] https://en.m.wikipedia.org/wiki/Caenorhabditis_elegans
    • แม้จะพูดว่า “คู่เบส DNA หลายพันล้านคู่ที่ควบคุมพฤติกรรม” แต่ จีโนมทั้งหมดของ C. elegans มีขนาด 100 ล้านคู่เบส
    • มุมมองที่ดีที่สุดคือ นิวรอนชีวภาพหนึ่งตัวเองก็เป็นเครื่องจักรที่ซับซ้อนซึ่งเต็มไปด้วย วงจรควบคุมทางพันธุกรรม
      วงจรเหล่านี้ในบางแง่ก็คล้ายโครงข่ายประสาท และที่สำคัญคือมีความจำและสถานะที่คงอยู่ทั้งช่วงเวลาสั้นและยาว นิวรอนแต่ละตัวใกล้เคียงกับการเป็นหน่วยมีชีวิตที่สามารถเรียนรู้และมีพฤติกรรมได้ มากกว่าจะเป็นพารามิเตอร์ในโมเดล
      ในทางกลับกัน “นิวรอน” เสมือนเป็นเพียงนามธรรมทางคณิตศาสตร์ที่เรียบง่ายมาก และมีความซับซ้อนเชิงคำนวณต่ำกว่านิวรอนชีวภาพอย่างท่วมท้น connectome เป็นเพียงแผนที่หยาบมากของการเชื่อมต่อกันของนิวรอน ไม่ได้ใกล้เคียงกับพิมพ์เขียวของ “โครงข่ายประสาท” ที่สมบูรณ์
      อาจเป็นไปได้ที่จะจำลองนิวรอนชีวภาพเป็นโครงข่ายประสาทย่อยที่มีสถานะภายในโครงข่ายประสาทที่ใหญ่กว่า แต่ถึงจะสมมติว่ามันเทียบเท่ากันเชิงคำนวณ เราก็ไม่รู้เลยว่าจะต้องใช้นิวรอน “เสมือน” กี่ตัวเพื่อแทนพฤติกรรมทั้งหมดที่สำคัญในเชิงคำนวณของนิวรอนชีวภาพ
      เพราะฉะนั้น หนอนที่มีนิวรอนชีวภาพ 302 ตัวอาจเทียบได้ในเชิงคำนวณกับนิวรอนเสมือนหลายพันล้านตัวก็ได้ เราไม่รู้จริง ๆ
      ในแง่ที่นิวรอนมีความจำ มันอาจดูคล้ายเครือข่าย LSTM อยู่บ้าง และเพราะโครงข่ายประสาทชีวภาพไม่ใช่แค่ feed-forward ธรรมดา มันจึงใกล้กับ recurrent neural network มากกว่าแน่นอน
      ด้วยเหตุนี้ พอเห็นคนพูดถึง mind uploading ก็อดขำไม่ได้ และคงหยุดขำไม่ได้จนกว่าเราจะเข้าใจและจำลองพฤติกรรมที่เกี่ยวข้องของนิวรอนชีวภาพได้ รวมถึงดึงสถานะที่ใช้งานได้จากนิวรอนที่มีชีวิตออกมาได้ ตอนนี้มันยังเป็นนิยายวิทยาศาสตร์ 100% และคนที่คิดว่าเราจะอัปโหลดจิตใจได้ในเร็ว ๆ นี้ก็คือคนที่ไม่เข้าใจชีววิทยา
    • มันฟังดูน่าประทับใจในระดับที่นิวรอนชีวภาพคล้ายกับนิวรอนในแมชชีนเลิร์นนิงอยู่บ้าง นั่นน่าจะเป็นจุดที่นักวิจัยสนใจด้วย
      ถ้ามันทำงานด้วยหลักการที่คล้ายกัน หนอนทำพฤติกรรมแบบนั้นได้อย่างไรด้วยทรัพยากรที่น้อยมาก? ตัวอย่างเช่น หากพบว่า คุณลักษณะเฉพาะของวัสดุรองรับ ไม่ได้จำเป็นต่อความสามารถของหนอน นั่นอาจเป็นข่าวดีสำหรับงานวิจัย AI
  • ผมเคยมีโอกาสไปทำงานเขียนโปรแกรมในแล็บของ Ralph Siegel ช่วงทศวรรษ 1990 และเขาก็ศึกษางานประเภท โมเดล connectome ของหนอน แบบนี้ด้วย
    https://en.wikipedia.org/wiki/Ralph_Siegel_(scientist)
    เขาใช้สมการ Hodgkin-Huxley เพื่อจำลองการตอบสนองของนิวรอนบน connectome ตามที่มีคนอธิบายให้ผมฟัง โมเดล Hodgkin-Huxley ก็คล้ายกับการจำลองขามนุษย์เป็นบล็อกแข็งสามชิ้นที่เชื่อมกันด้วยบานพับ มันมีประโยชน์พอสำหรับหลายโมเดล แต่ไม่ใช่คำอธิบายที่สมบูรณ์
    อีกอย่าง นิวรอนของหนอนไม่ได้สร้างสไปก์ และสมการ HH อธิบายนิวรอนที่สร้างชุดสไปก์ จึงอาจไม่ใช่โมเดลที่เหมาะกับนิวรอนของหนอน นิวรอนแบบนั้นพบในระบบประสาทที่ซับซ้อนกว่า
    สมการ HH เป็นโมเดลทางคณิตศาสตร์ที่เรามีอยู่ จึงถูกนำมาใช้ในการจำลอง และดูเหมือนว่ายังถูกใช้ในโครงการ OpenWorm ด้วย เรื่องคุณสมบัติของนิวรอนหนอนนั้นเป็นสิ่งที่ผมได้ยินมานานแล้ว ข้อมูลอาจล้าสมัย
    การที่งานนี้ยังดำเนินต่อไปเป็นเรื่องยอดเยี่ยม และมันอาจให้ข้อมูลเชิงลึกเกี่ยวกับการทำงานของระบบประสาทได้ แต่ความยากนั้นสูงมาก และเรากำลังก้าวไปอย่างช้า ๆ และยากลำบากในดินแดนแห่งความไม่รู้อันกว้างใหญ่

    • ผมเพิ่งเคยอ่านเป็นครั้งแรกว่านิวรอนของหนอน ไม่ได้สร้างสไปก์ และมันน่าสนใจมาก
      ถ้าอย่างนั้นมันต่างจากนิวรอนมนุษย์มากเลยหรือเปล่า? อยากรู้ว่ามันทำงานอย่างไร และควรไปอ่านจากที่ไหน
    • ถามด้วยความสงสัยว่า งานวิจัยนี้มี การประยุกต์ใช้เชิงพาณิชย์ ที่เป็นเป้าหมายหรือไม่
  • ชอบ แนวทางแบบ bottom-up แบบนี้ เพราะมันแสดงให้เห็นได้ดีมากว่าเรายังไม่รู้อีกมากแค่ไหนเกี่ยวกับชีวิต
    ตรงนี้นึกถึงโครงการ minimum cell ของ Craig Venter อย่าง syn3.0 ด้วย ทีมนี้สร้างเซลล์สังเคราะห์ที่มีชีวิตซึ่งประกอบด้วยยีน 473 ตัว โดยส่วนใหญ่ได้มาจากการลองผิดลองถูก และหน้าที่ของยีนหลายตัวในนั้นเราก็ยังไม่รู้จนถึงทุกวันนี้
    รีวิวล่าสุดของทีมเดียวกันอยู่ที่ https://doi.org/10.1016/j.cell.2022.06.046

    • ไม่แน่ใจนักว่าจะเรียกมันว่าแนวทางแบบ bottom-up ได้หรือเปล่า ถึงจะโฆษณาแบบนั้น แต่ในความเป็นจริงมันใกล้เคียงกับ Jenga มากกว่า
      คือดูว่าจะเอาชิ้นส่วนอะไรออกได้บ้างโดยที่ระบบยังไม่พัง
      ข้อเท็จจริงทางเทคนิคที่ว่าสังเคราะห์จีโนมขึ้นมาเองได้นั้นค่อนข้างเหมือนการโชว์มากกว่า เพราะสุดท้ายก็ยังต้องเอาไปใส่ในเซลล์ที่มีอยู่แล้ว
      มันคล้ายกับการคัดลอกชิปตัวเดิม แต่ดึงออกบางบิตแล้วสลับเปลี่ยน จากนั้นก็บอกว่า “ไฟเลี้ยวใช้ไม่ได้ แต่ก็ยังขับได้ประมาณหนึ่ง” แล้วอ้างว่าสร้างรถขึ้นมาใหม่ตั้งแต่ต้น
    • เพิ่งมีการตีพิมพ์งานติดตาม วิวัฒนาการ 2,000 รุ่นของเซลล์ขั้นต่ำ นี้: https://www.nature.com/articles/s41586-023-06288-x
  • Noam Chomsky กล่าวว่า AI มีอยู่สองประเภท
    งานวิจัย AI ประเภทแรกเป็นสิ่งที่ใกล้กับวิศวกรรม เช่น รถยนต์ไร้คนขับ การแปลภาษา และการรู้จำวัตถุ
    งานวิจัย AI ประเภทที่สองคือการพยายามจำลองสติปัญญาของสิ่งมีชีวิต เช่น มนุษย์หรือหนอน ให้สอดคล้องกับแบบจำลองที่นักวิทยาศาสตร์ด้านการรู้คิดมีอยู่
    ตัวอย่างเช่น ระบบที่สามารถเรียนรู้ภาษามนุษย์ภาษาใดก็ได้ด้วยการชี้แนะเพียงเล็กน้อยมาก เหมือนเด็ก ๆ ก็เป็นประเภทนี้
    OpenWorm ดูจะใกล้เคียงกับข้อ 2 มากกว่า ถ้ามีแหล่งข้อมูลที่น่าสนใจสำหรับสำรวจ AI ประเภทที่ 2 แบบนี้เพิ่มเติม อยากรู้เหมือนกัน
    [0]: https://youtu.be/TAP0xk-c4mk

  • เมื่อหลายปีก่อนผมเคยดูเรื่องนี้ และก็หวังอยู่เสมอว่าความคิดแบบหายนะของ Kurzweil จะมีมูลอยู่บ้าง
    แนวคิดคือเริ่มจากจำลอง C. elegans ก่อน จากนั้นก็แค่ขยายขนาดขึ้นก็จะจำลองมนุษย์ได้ และแล้วภาวะเอกฐานก็จะมาถึง
    เอาจริง ๆ การจำลองหนอนทึ่ม ๆ ตัวหนึ่งมันจะยากแค่ไหนกัน? เรามี connectome อยู่แล้ว และรู้จักนิวรอนกับการเชื่อมต่อทั้งหมด ก็น่าจะง่ายสิ
    แต่พอไปดูแล้วก็ตกใจมาก มัน ใช้การไม่ได้ ทำได้แค่จำลองการเคลื่อนไหวพื้นฐานบางส่วน แต่พฤติกรรมอีกมากมายที่หนอนจริงทำได้นั้นยังคงเป็นปริศนา แม้แต่ในเอกสารก็ดูไม่เหมือนว่าผู้คนจะไขคำตอบได้ในเร็ววัน และพอผ่านไปอีกหลายปีก็ดูเหมือนสุดท้ายจะล้มเลิกกันไป
    เท่าที่ผมรู้ โครงการจำลองสมองในยุโรปที่เคยถูกโหมกระแสมากก็ยุติลงท่ามกลางข้อสงสัยเรื่องการทุจริต
    เราแทบไม่เข้าใจเรื่องนี้เลย และดูเหมือนยังห่างไกลมาก ตอนนี้คงต้องกลับไปอ่านนิยายวิทยาศาสตร์กันก่อน

    • ที่บอกว่า “เรามี connectome และรู้จักนิวรอนกับการเชื่อมต่อทั้งหมด” นั้นไม่จริง
      ไซแนปส์แต่ละจุดมีสารสื่อประสาทเฉพาะของตัวเอง และระยะทาง ขนาด รูปร่าง จำนวนตัวรับ รวมถึง glia ที่เกี่ยวข้อง ล้วนมีผลอย่างมากต่อการส่งสัญญาณ ระยะและความหนาของแอกซอนก็ส่งผลต่อความแรงของสัญญาณที่ถูกส่งด้วย และทั้งหมดนี้วัดได้ยากมาก
      นิวรอนยังไวมากต่อความแรงและจังหวะเวลาของสัญญาณด้วย ตัวอย่างเช่น ไซแนปส์แบบยับยั้งทำงานโดยเปิดรูบนผนังเซลล์ ทำให้ประจุค่อย ๆ รั่วออกไปตามเวลา หากจังหวะนี้คลาดเคลื่อนไปเพียงเล็กน้อย พฤติกรรมของเซลล์ก็อาจเปลี่ยนอย่างมาก
      พูดอีกอย่าง connectome คล้ายกับ โมเดลก่อนการฝึก ที่ซับซ้อนบ้าคลั่งมาก และนิวรอนแต่ละตัวก็มีค่าน้ำหนักหลายตัวที่ใช้อธิบายไม่เพียงการตอบสนองต่อสัญญาณโดยตรง แต่รวมถึงพฤติกรรมตามกาลเวลาด้วย ถ้าไม่มีค่าน้ำหนักเหล่านี้ก็จำลองไม่ได้
  • ทำให้นึกถึงตอนแรกของ Devs
    https://www.imdb.com/title/tt8134186/
    มีฉากที่วิศวกร AI สาธิตการซิงก์การเคลื่อนไหวของหนอนตัวกลม แล้วใช้ทำนายการเคลื่อนไหวในอนาคต อ้างอิงไว้เผื่อสนใจ เป็นซีรีส์ที่ดีมากจริง ๆ

    • มันยิ่งยอดเยี่ยมขึ้นเพราะเป็นผลงานที่ออกมาก่อนที่ LLM จะเข้าสู่การรับรู้ของสาธารณะ
      แนวคิดเรื่องการคาดคะเนต่อออกไปอย่างแม่นยำมากจากข้อมูลเป็นแกนหลักของซีรีส์นี้ แต่ผมจะพูดแค่นี้
  • ไม่นานมานี้มีการเผยแพร่ โมเดล connectome ของสมองแมลงวันผลไม้แล้ว[1]
    [1] https://hub.jhu.edu/2023/03/09/scientists-complete-first-map...

    • เป็นเรื่องที่ยอดเยี่ยม แต่ connectome ของ C. elegans ถูกตีพิมพ์มาตั้งแต่ปี 1989 แล้ว และแค่ลองดูโครงการที่ลิงก์ไว้เพียงนิดเดียวก็จะเห็นว่าเรายังไม่ใกล้เลยที่จะทำให้ชุดพฤติกรรมทั้งหมดของ C. elegans ผุดขึ้นมาเองจากการจำลองนิวรอน
      แม้แต่การพิสูจน์ว่าสิ่งนั้นเป็นไปได้ก็ยังอีกไกล
      เพราะงั้นโครงการอย่าง neurokernel [1] ก็ดูทะเยอทะยานเกินไปหน่อย แต่ก็ขอให้โชคดี
      [1] http://neurokernel.github.io/
  • เมื่อหลายปีก่อนผมไปงานคล้ายมินิคอนเฟอเรนซ์ OpenWorm ที่ลอนดอน
    เป็นงานที่คุยกันเรื่อง การเคลื่อนไหวของหนอน อยู่หลายวัน ตอนนั้นผมไม่รู้อะไรเลยทั้งเรื่องหนอนและการเคลื่อนไหวของสัตว์โดยรวม และเป็นคนนอกวงการโดยสมบูรณ์ที่แค่สนใจการจำลองสิ่งมีชีวิตแบบสมัครเล่น จึงแทบฟังไม่เข้าใจ
    ถึงอย่างนั้นมันก็น่าสนใจมากจริง ๆ และการได้พบคนที่มีแพสชันกับหัวข้อนี้ก็ยอดเยี่ยมมาก

  • ถ้าปิดการจำลองลง เท่ากับฆ่าหนอนหรือเปล่า?

    • ถ้าบันทึกสถานะไว้ที่ไหนสักแห่ง ก็ไม่ใช่
  • ในฐานะสมาชิกผู้ก่อตั้ง OpenWorm ผมเคยเอา connectome ไปทำเป็นอีมูเลชันและประยุกต์ใช้กับหุ่นยนต์เมื่อเกือบ 10 ปีก่อน
    https://youtu.be/YWQnzylhgHc
    ในการทดลองนี้ เราแทนนิวรอนแต่ละตัวด้วยหนึ่งโปรแกรม และใช้ข้อความ UDP สำหรับการสื่อสารระหว่างโปรแกรมนิวรอนแต่ละตัว มีปัญหาหลายอย่าง แต่ปัญหาใหญ่ที่สุดคือ connectome มีลักษณะวนกลับสูงมาก จึงเกิดสิ่งที่เราเรียกว่า “UDP stacking” ในการทดลอง นั่นคือข้อความ UDP ซึ่งเป็นสัญญาณกระตุ้นไหลเข้ามาเร็วกว่าที่โปรแกรมจะประมวลผลได้
    ตอนนี้ผมกำลังดาวน์โหลด Drosophila connectome ที่เสร็จสมบูรณ์แล้วมาสร้างอีมูเลชัน และกำลังสำรวจ hypervector เพื่อใช้อีมูเลตนิวรอนหรือ neuropil แต่ยังอยู่ในช่วงเกลาคอนเซปต์
    ผมยังลองไอเดียอื่น ๆ เช่น adjacency matrix, functional programming เป็นต้น โดยให้แต่ละฟังก์ชันแทนส่วนหนึ่งของระบบประสาทสัตว์ เช่น สำหรับ C. elegans ก็อาจมองเซลล์ประสาทรับความรู้สึก อินเตอร์นิวรอน และมอเตอร์นิวรอน เป็นสามฟังก์ชันและสามโปรแกรมแยกกัน
    อีมูเลชันของ C. elegans ถูกทำเป็นแอป Python เดี่ยวได้แล้ว และยังถูกพอร์ตไปยังภาษาโปรแกรมอื่นอีกหลายภาษา รวมถึงแสดงอีมูเลชันที่ชัดเจนบนหุ่นยนต์หลายตัวด้วย การทดลองตัดทำลายแสดงให้เห็นว่าระบบประสาทที่ถูกอีมูเลตนั้นสอดคล้องกับระบบประสาทชีวภาพผ่านพฤติกรรมที่สังเกตได้
    บนเส้นต่อเนื่องทางวิวัฒนาการของระบบประสาท ด้านหนึ่งคือสมองของหนอน อีกด้านหนึ่งคือสมองของมนุษย์ แต่แม้เพียงระบบประสาทของหนอน เราก็มองเห็นประตูสู่ ปัญญาทั่วไป และ AGI ได้อย่างชัดเจน