ในฐานะคนที่ทำงานด้านการพัฒนาซอฟต์แวร์ โดยเน้นที่การสร้างผลิตภัณฑ์บนเว็บเป็นหลัก ฉันรู้สึกสนใจในเทคโนโลยีใหม่ๆ อยู่เสมอ การระเบิดความสนใจใน AI โดยเฉพาะอย่างยิ่งหลังจากการเปิดตัว ChatGPT จุดประกายความปรารถนาของฉันที่จะดำดิ่งสู่สาขาที่น่าสนใจนี้ให้ลึกซึ้งยิ่งขึ้น นี่คือวิธีที่การเดินทางของฉันคลี่คลาย
ฉันเริ่มต้นด้วยวิดีโอ YouTube (คำอธิบายของ Wolfram) ที่แจกแจงว่า ChatGPT คาดการณ์คำถัดไปในประโยคได้อย่างไร (หากคุณไม่ต้องการดูวิดีโอ คุณสามารถอ่าน บทความถอดเสียง) บทนำนี้เป็นการเปิดหูเปิดตา มันเผยให้เห็นว่า AI โดยเฉพาะอย่างยิ่ง large language models (LLMs) มีความก้าวหน้าเพียงใด นอกจากนี้ยังแนะนำให้ฉันรู้จักกับแนวคิดพื้นฐานในแวดวง LLM ซึ่งเป็นการปูทางสำหรับการสำรวจที่ลึกซึ้งยิ่งขึ้นของฉัน
จากนั้น ฉันเริ่มเรียนรู้เกี่ยวกับ LLM ที่แตกต่างกัน เช่น Llama, GPT, Claude และอื่นๆ ช่วงนี้เป็นเรื่องของการทำความเข้าใจด้านเทคนิค เช่น context length, tokens (input and output), parameters, embeddings, FLOPS (Floating Point Operations Per Second), RAG (Retrieval-Augmented Generation) เพื่อให้สิ่งต่างๆ เป็นรูปธรรมมากขึ้น ฉันได้ทดลองรัน LLM ในเครื่องโดยใช้เครื่องมืออย่าง Ollama มันเป็นประสบการณ์ตรงครั้งแรกของฉันกับโมเดลในเครื่อง และฉันรู้สึกทึ่งกับศักยภาพของมัน
แหล่งข้อมูลบางส่วนในช่วงนี้:
- All you need to know about Tokenization in LLMs
- Llama Recipes Quickstart
- Everything I've learned so far about running local LLMs
- Understanding LLMs from Scratch Using Middle School Math
การทำความเข้าใจคำศัพท์ทางเทคนิคเหล่านั้นยังไม่เพียงพอ เราต้องสำรวจและลงมือปฏิบัติจริงเพื่อทำความเข้าใจอย่างแท้จริงว่าคำศัพท์เหล่านี้เชื่อมโยงกันอย่างไร และมีบทบาทอยู่ที่ใด และเหตุใดจึงจำเป็น ฉันสำรวจสิ่งเหล่านี้โดยใช้ Jupyter Notebook ซึ่งเป็นเครื่องมือที่ช่วยให้ฉันสามารถรันคำสั่ง Python สำหรับงานต่างๆ ได้ สิ่งนี้นำฉันไปสู่แพลตฟอร์มต่างๆ เช่น LangChain และ Kaggle ซึ่งฉันได้ทดลองกับการฝึกอบรม LLM ขั้นพื้นฐานและการปรับแต่งโมเดล ประสบการณ์เหล่านี้ช่วยให้ฉันเข้าใจว่าโมเดล AI ได้รับการฝึกอบรมและปรับแต่งอย่างไร ทำให้ฉันมีมุมมองที่ครอบคลุมมากขึ้นเกี่ยวกับความสามารถของโมเดลเหล่านั้น
แหล่งข้อมูลบางส่วนในช่วงนี้:
ด้วยความรู้ที่เพิ่มขึ้นนี้ ฉันเริ่มสร้างแอปพลิเคชันที่ขับเคลื่อนด้วย AI (Sudoku, Page Saver) โดยใช้เครื่องมือต่างๆ เช่น Cursor และ Windsurf ซึ่งได้รับการปรับปรุงโดย editors ที่ขับเคลื่อนด้วย AI ฉันตระหนักได้อย่างรวดเร็วว่า AI สามารถเปลี่ยนแปลงนักพัฒนาได้อย่างไร ความท้าทายมากมายที่ฉันเผชิญในการพัฒนาซอฟต์แวร์สามารถปรับปรุงให้มีประสิทธิภาพมากขึ้น หรือแม้กระทั่งแก้ไขได้ทั้งหมดด้วย AI นี่เป็นช่วงเวลาสำคัญที่เน้นย้ำถึงศักยภาพอันมหาศาลของ AI ในการปรับเปลี่ยนวิธีการทำงานของเรา
การเดินทางยังคงดำเนินต่อไปเมื่อฉันเริ่มสร้างบางสิ่งบางอย่างด้วย prompting อย่างจริงจัง โดยเริ่มต้นด้วยตัวอย่างบางส่วนของการเรียก API ที่แตกต่างกันโดยใช้ frameworks ที่แตกต่างกัน เนื่องจากปัจจุบันฉันใช้ GoLang เป็นหลัก ดังนั้นฉันจึงฝึกฝนกับ GoLang ความพยายามบางอย่างถูกบันทึกไว้ในบล็อกโพสต์บางส่วน เช่น:
- First Touch on Open API
- Gemini Example with Go
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
ด้วยพื้นฐานทั้งหมดนี้ แอปพลิเคชันที่ซับซ้อนมากขึ้นซึ่งขับเคลื่อนโดย AI สามารถสร้างขึ้นได้
ในขณะที่การเดินทางของฉันยังคงดำเนินต่อไป สิ่งหนึ่งที่ชัดเจนคือ AI ไม่ใช่แค่กระแส แต่เป็นอนาคต ทุกย่างก้าวที่ฉันได้ก้าวไปได้ทำให้ฉันซาบซึ้งในสาขานี้และความเป็นไปได้ของมันมากขึ้น ฉันรู้สึกตื่นเต้นที่จะได้เห็นว่าการเดินทางครั้งนี้จะพาฉันไปที่ใดต่อไป และ AI จะปฏิวัติชีวิตของเราต่อไปได้อย่างไร ทั้งในฐานะนักพัฒนาและในฐานะปัจเจกบุคคล
great article