Databricks คืออะไร แนะนำบริการด้าน Machine Learning และ AI ที่บริษัททั่วโลกใช้

databricks ai machine learning

Databricks เป็นบริษัทสัญชาติอเมริกันที่ก่อตั้งขึ้นโดยผู้สร้าง Apache Spark ให้บริการ Product ด้าน Data, Analytics และ AI โดยเริ่มจากการรวมจุดเด่นของ Data Lake และ Data Warehouse เข้าด้วยกันเป็น Lakehouse Architecture ที่ช่วยเพิ่มความร่วมมือในการทำงานด้าน Data Science, Data Engineering Data Analytics ให้ง่ายขึ้น บน Cloud-Based Platform เดียว

Databricks ถือเป็นบริการด้าน Data, Machine Learning & AI ที่ได้รับความนิยมมากในหลายปีที่ผ่านมา โดยคนที่พัฒนา Databricks เป็นทีมเดียวกับที่สร้าง Apache Spark เทคโนโลยีชื่อดังในสาย Data ที่ทุกบริษัทต้องใช้ในยุคปัจจุบัน

Databricks มีการพัฒนา Product ออกมาตาม Persona หรือลักษณะการใช้งานของแต่ละทีม เพื่อให้ครอบคลุมการใช้งานที่สุด โดยแบ่งออกเป็น 3 Environment ดังนี้

  • Databricks Data Science & Engineering
  • Databricks Machine Learning
  • Databricks SQL

วันนี้เราจะพาเพื่อนๆมารู้จักกับ Databricks โดยทำความรู้จักกับทั้ง 3 Environments ของ Databricks กัน ว่าแตกต่างกันอย่างไร สามารถทำอะไร ใช้งานอย่างไรได้บ้าง

Environment Databricks ด้าน Data Science & Engineering

มาเริ่มกันที่ Databricks Data Science & Engineering

ทุกคนเคยเห็นภาพนี้ไหมคะ ภาพที่ทั้ง Data Scientist, Data Engineer และ Data Analyst ทำงานร่วมกันบน Platform เดียว ฟังแล่้วอาจจะคิดว่าเป็นไปได้หรอ แต่ Databricks make it happened ค่ะ

Databricks มี workspace สำหรับทุกคนบน โดยจะเป็นที่เก็บทุกอย่่างที่ต้องใช้เอาไว้ใน folder อย่างเป็นระเบียบ ตั้งแต่ notebooks, libraries, repo หรือ dashboard นอกจากนี้ยังจัดการการเข้าถึงข้อมูล และ แบ่ง resource ในการทำงานให้ ซึ่งหน้าตา interface ก็จะเป็นแบบนี้

databricks data science engineering
Databricks – Data Science and Engineering สามารถทำได้หลายอย่าง (จากเว็บไซต์ Databricks)

ส่วนที่ทุกคนคุ้นเคยและน่าจะได้ใช้งานกันบ่อยที่สุด ก็คงจะเป็น Notebook

ส่วนประกอบใน workspace: Notebook

พูดถึง Notebook อาจจะยังไม่เห็นภาพ ถ้าเพื่อนๆเคยใช้ Jupyter Notebook หรือ Google Collab กันมาบ้าง Databricks ก็มี Notebook เป็นของตัวเอง ซึ่งก็มีจุดที่เหมือนกับ Notebook อื่นๆ อย่างการสร้าง Notebook ขึ้นมา รัน command ลากกล่องโค้ดขึ้นลงได้ แต่จุดที่น่าสนใจเป็นพิเศษคือ

  • เขียนได้หลายภาษาใน Notebook เดียว: ถึงแม้ว่าจะต้องเลือกภาษาในตอนสร้าง Notebook แต่จริงๆแล้วสามารถเขียนได้หลายภาษา ตั้งแต่ Python, R, Scala หรือ SQL
  • Build-in Visualization: สร้างกราฟจากข้อมูลที่อยู่ตรงหน้าได้เลย สมมติเรามีตารางข้อมูล สามารถกดสร้างกราฟ เช่น Line Chart, Bar Chart, Scatter Plot และกราฟอื่นๆ พร้อมทั้งปรับสเกล ค่าต่างๆของกราฟง่ายๆโดยการลากไปมาได้
  • ปรับได้หลายมุมมอง: ทั่วไปแล้ว Notebook จะหน้ามาเป็นบล็อคๆอย่างเดียว (Standard) แต่เราสามารถปรับได้ให้แสดงแค่ผล (Results Only) ปรับให้แสดงแบบ text ข้างหนึ่ง โค้ดอีกข้าง (Side-By-Side) ก็ทำได้
  • ติดตามการเปลี่ยนแปลงใน Notebook ได้: Revision History จะบันทึกการเปลี่ยนแปลงทุกอย่างที่เกิดขึ้นใน Notebook ใครทำเป็นคนทำ
  • Comment แบบ real-time: เราสามารถใส่คอมเมนท์โดยเลือกโค้ดเป็นบรรทัดให้เพื่อนร่วมงานได้ เพื่อนร่วมงานก็สามารถเห็นและตอบกลับได้ทันที
  • แชร์ Notebook ได้ง่าย: เราสามารถแชร์ Notebook ได้ง่ายผ่านการ export โดยสามารถทำได้ 3 รูปแบบ DBC Archive ซึ่งเป็นรูปแบบเฉพาะของ Databricks, Source File และ HTML
  • สร้าง Dashborad จาก Notebook ได้: เป็น feature หนึ่งที่น่าตื่นเต้นมาก คือสามารถกดสร้าง Dashboard จากข้อมูล ตาราง กราฟที่อยู่บน Notebook ได้เลย และปรับแต่งลากไปมาได้
databricks notebook
Databricks Notebook (จาก วีดิโอของ Databricks)

นอกจาก Notebook แล้ว workspace ยังเก็บ Library ซึ่งเป็นแพคเกจของโค้ดไว้ให้เราใช้งาน ถึงแม้จะมี libraries ติดตั้งไว้แล้วอยู่หลายอัน ก็สามารถติดตั้งเพิ่มได้ Repo ไว้เก็บโค้ด version ต่างๆ โดยซิงค์กับ Git และ Experiment ซึ่งทำการเก็บ MLflow runs สำหรับการเทรนโมเดล Machine Learning

การเข้าใช้งาน Environment ด้าน Data Science & Engineering

การเข้าใช้งานส่วนของ Data Science & Data Engineer นั้น สามารถเข้าใช้งานได้ 3 วิธี

  • UI: เข้าใช้งานผ่าน User Interface เป็นเหมือนการเข้าใช้งานบนเว็บไซต์ สามารถเห็นกราฟฟิค workspace และอื่นๆได้
  • REST API: เข้าใช้งานผ่าน REST API มีด้วยกัน 3 เวอร์ชั่น 2.1, 2.0 และ 1.2 ซึ่งน่าจะมีการพ้ฒนาและอัพเดทไปเรื่อยๆ
  • CLI: เข้าใช้งานผ่าน CLI หรือ Command Line Interface ซึ่งเป็น open source สร้างมาจาก REST API เวอร์ชั่นล่าสุดนั้นเอง เหมือนเวลาดูหนังแล้วเห็นคนโค้ดบนจอดำๆ

การเก็บข้อมูลใน Environment ด้าน Data Science & Engineering

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

  • Databricks File System (DBFS): เป็น file system ที่มีเก็บ ไฟล์ข้อมูล libraries และรูปภาพใน directories
  • Database: เป็นที่เก็บของข้อมูลที่อยู่ในรูปแบบ object อย่างเช่น tables, views และฟังก์ชั่น
  • Table: เก็บข้อมูลแบบ structured สามารถ query ได้โดยใช้ทั้ง Apache Spark SQL และ Apache Spark API
  • Metastore: เป็นส่วนที่เก็บโครงสร้างของข้อมูลที่อยู่ใน tables และ partitions ใน Data Warehouse

Environment Databricks สำหรับทำ Machine Learning

Databricks Machine Learning เป็น environment หนึ่งสำหรับการทำงาน Machine Learning แบบ end to end ที่มาพร้อมกับความสามารถในการติดตามผลของการทดลองผ่าน logs, metric ต่างๆเทียบกับชุดข้อมูลและโค้ดที่ใช้ เทรนโมเดล การหา feature การพัฒนา feature รวมไปถึงการ deploy โมเดลขึ้น Production โดยใช้ feature ที่ได้จากฝั่ง Databricks: Data Science & Engineering

หน้าตาของ Interface ก็ดูคล้ายๆกับ Databricks: Data Science & Engineering โดยสามารถทำการเลือก environment สลับเปลี่ยนไปมาได้ ทาง tab ด้านซ้ายมือ

Databricks Choosing Environment
Databricks Choosing Environment

จุดเด่นของ Databricks Machine Learning

  • เทรนโมเดลได้ทั้งแบบ manual และใช้ AutoML
  • ติดตาม parameter และโมเดลที่เทรนด้วย MLflow tracking
  • สร้างตารางเก็บ feature และสามารถนำไปใช้การเทรนโมเดล และ inference ได้ง่าย
  • จัดเก็บ แชร์ และนำโมเดลไปใช้ต่อได้ผ่าน Model Registry

นอกจากนี้ยังสามารถเข้าถึงความสามารถและการใช้งานต่างๆใน workspace อย่าง Notebook, Cluster, ข้อมูล การจัดการความปลอดภัย (Security) และ การจัดการด้าน Admin

การเริ่มใช้งานแต่ละขั้นตอนก็ไม่ยาก เพราะ Databricks ทำ documents ออกมาได้ดีมาก มีทั้งตัวอย่างแบบสั้นๆให้เข้าใจได้ง่าย และตัวอย่างแบบ end-to-end พร้อมระบุขั้นตอน โค้ดที่ใช้งาน และเขียนอธิบายได้เข้าใจง่าย

เพื่อนๆสามารถเข้าไปดูตัวอย่างการใช้งานได้ที่ หรือเข้าไปดูตัวอย่างโค้ดแบบ end-to-end ได้ใน ตัวอย่าง mlflow

Environment Databricks: SQL

Environment สุดท้ายที่จะมาพูดถึงวันนี้คือ Databricks SQL ซึ่งเป็นเครื่องมือหลักสำหรับ Data Analyst ที่มักใช้ SQL และ ทำ BI เหมาะสำหรับการทำงาน ad-hoc และสร้าง dashboard จากข้อมูลใน data lake เพื่อรายงานผลแบบรวดเร็ว

หน้าตาของ Interface ก็จะแตกต่างจาก Databricks: Data Science & Engineering และ Machine Learning หน่อย

Databricks SQL
Databricks SQL Editor (จากเว็บไซต์ Databricks)

จุดเด่นของ Databricks SQL

  • สร้าง Visualization หลังจากรัน queries: กดสร้าง visualization แล้วเลือกชนิดของกราฟที่ต้องการและปรับแต่งได้ ทำได้ตั้งแต่ boxplot, bar, area, pie, map, heatmap หรือแม้แต่ word cloud และ sunburst
  • สร้าง Dashboard ได้ง่าย: ถ้าไม่อยากสร้าง Dashboard ตั้งแต่ต้น ก็มี quick dashboard แล้วแก้ไข ใส่ heading คำอธิบาย หรือเพิ่มกราฟได้
  • สร้างการแจ้งเตือน Queries: สามารถสร้างการแจ้งเตือนเมื่อ queries ที่ตั้งไว้ขึ้นไปถึง threshold เช่น แจ้งเตือนเมื่อ จำนวน supply ลดลงไปถึงจุดที่ต้องเพิ่ม

และก็จบไปแล้วสำหรับแต่ละ persona ของ Databricks

หวังว่าบทความนี้จะช่วยให้เพื่อน ๆ รู้จักกับ Databricks มากขึ้น และหากบทความนี้มีประโยชน์ อยากรบกวนช่วยแชร์ให้คนอื่น ๆ ได้มาอ่านบทความนี้ด้วยค่า

บทความนี้เราตั้งใจเขียนมาก และหวังว่าจะมีคนที่ได้ประโยชน์จากบทความนี้เพิ่มขึ้นไปเรื่อย ๆ นะคะ :)

ถ้าชอบเนื้อหาแนวนี้ ติดตามบทความดี ๆ ด้าน Data และวีดิโอสนุก ๆ ดูชิล ๆ แล้วได้ความรู้กันได้ที่ Facebook Page: DataTH และ Youtube Channel: Data Science ชิลชิล แล้วเจอกันนะคะ

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

บทความที่เกี่ยวข้อง

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

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save