SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Nền tảng Thuật toán của AI, Machine
Learning, Big Data
Ông Xuân Hồng - Research engineer
Nội dung
● Tổng quan Big Data
● MapReduce - thuật toán nền tảng của Big Data
● Các thuật toán làm hằng ngày với Big Data
● Chia sẻ kinh nghiệm
Tổng quan Big Data
Message queue Processing Storage Management
● Amazon
Kinesis
● SQS
● Apache Kafka
● Apache
Spark
● Apache Storm
● Apache Flink
● Hadoop
● AWS S3,
Google
storage
● NoSQL
● Jenkins
● Git
● Docker
● Ansible
● Travis
Message queue
Storage - File distributed
Storage - NoSQL
Storage - NoSQL
Storage - GPU database
The rise of GPU databases
Management
Management
Processing - Apache Spark
Processing - Distributed computing
● Master/Driver
○ Chuyển program thành
các tasks cho các
workers.
○ Scheduling tasks để các
workers hoạt động đồng
bộ với nhau.
● n-Cluster/Executors
○ Hoàn thành các tasks và
trả kết quả về Driver.
○ Cache dữ liệu khi được
yêu cầu.
● SparkContext dùng để tạo
RDDs.
Processing - GPU computing
45x faster
Processing - Quantum computing
Since 1980
Processing - Quantum computing
Nội dung
● Tổng quan Big Data
● MapReduce - thuật toán nền tảng của Big Data
● Các thuật toán làm hằng ngày với Big Data
● Chia sẻ kinh nghiệm
MapReduce - thuật toán nền tảng của Big Data
MapReduce - data
MapReduce - wordcount framework
MapReduce - Hadoop vs Spark
Nội dung
● Tổng quan Big Data
● MapReduce - thuật toán nền tảng của Big Data
● Các thuật toán làm hằng ngày với Big Data
● Chia sẻ kinh nghiệm
Các thuật toán làm hằng ngày với Big Data
Máy tính dù có mạnh đến đâu cũng không cứu rỗi được
một giải thuật tồi
Swap two numbers
a = 5, b = 8
temp = a
a = b
b = temp
# a = 8, b = 5
a = 5, b = 8
a = a + b = 5 + 8 = 13
b = a - b = 13 - 8 = 5
a = a - b = 13 - 5 = 8
# a = 8, b = 5
Swap two numbers
Streaming when limit RAM
RAM 4GB
Data 100GB
● Approximate count
● Distinct count
Dimension reduction
● Giảm số chiều dữ liệu
● Vẫn đảm bảo độ chính xác
● Tăng tốc độ tính toán, tiết kiệm
bộ nhớ.
Join Big tables
Key A1 B1
k1 values 1 null
Key A1 B1
k1 null values 2
O(n^2)
Join Big tables
Key A1 B1
k1 values 1 null
Key A1 B1
k1 null values 2
Key A1 B1
k1 values 1 null
k1 null values 2
Key A1 B1
k1 values 1 values 2
union
SELECT Max(A1), Max(B1)
GROUP BY Key
O(n)
Cho dãy số 12, 3, 5. Tìm medians (trung vị)?
B1: sắp xếp tăng dần thành 3, 5, 12. Worse case O(n^2)
B2: tìm trung vị. 3/2 = 1.5 ~ 2
B3: kết quả 5
Medians
Medians
Tìm medians tần số chuyển động tracking theo giây trên đồng hồ Mitsfit?
Biết rằng giá trị giao động trong khoảng [-20.000, 20.000]
19.999 / 10.000 = 1 (for bin)
19.999 % 10.000 = 9.999 (for next bin)
Find and medians base number
Results: list medians [1, 9, 9, 9, 9]
Medians
● Wavelet vs Fast Fourier Transform
● JPEG, PNG, Gif
● MP4, MOV
● Zip, gzip
Compression
Giả sử lưu lượng dữ liệu
truyền qua Internet là
1.000.000.000 TB/s.
Nếu kĩ thuật nén cải thiện
được 0.1%. Ta sẽ tiết kiệm
được 1.000.000.000 * 0.1 /
100 = 1.000.000 TB/s
Nền tảng thuật toán của AI, Machine Learning, Big Data
More and more
● Machine learning
○ Random forest
○ Matrix computation (dense, sparse
vector)
○ Deep learning
● Big number:
○ Add, subtract, multiply, divide
Nội dung
● Tổng quan Big Data
● MapReduce - thuật toán nền tảng của Big Data
● Các thuật toán làm hằng ngày với Big Data
● Chia sẻ kinh nghiệm
● Sử dụng cache và partition đúng cách để
tăng tốc tính toán.
● Sử dụng vim, nano, less để quan sát file
Big Data.
● Kiến thức cần có: toán rời rạc, xác suất
thống kê, đại số tuyến tính.
○ Tính độ phức tạp.
○ Đọc hiểu các giải thuật liên quan.
● Sử dụng các công nghệ tiên tiến khi cần
thiết:
○ GPU, quantum computing
● Yêu thích việc tối ưu tính toán.
● Nên áp dụng thuật toán theo hướng:
○ Chia để trị.
○ Quy hoạch động.
○ Xấp xỉ.
○ Độ phức tạp không quá O(n^2).
● Cố gắng thu nhỏ dữ liệu càng nhiều càng
tốt:
○ Lấy mẫu 1% quần thể.
○ Giảm số chiều dữ liệu.
● Nên sử dụng binary file parquet cho lưu
trữ và tính toán Big Data.
○ Kích thước được nén nhỏ.
○ Column oriented
Chia sẻ kinh nghiệm
● Tổng quan về cấu trúc và dữ liệu
● Introduction to Algorithm, 3rd Edition (MIT Press)
● Sketching algorithm for Big Data
● Mining massive dataset (Stanford)
● 7 techniques dimensionality reduction
● Microsoft quantum computing
Tham khảo thêm

Contenu connexe

Tendances

Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1pisu412
 
Big data là gì và người ta khai thác
Big data là gì và người ta khai thácBig data là gì và người ta khai thác
Big data là gì và người ta khai thácletranganh
 
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)Trieu Nguyen
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuChâu Trần
 

Tendances (9)

Nutch
NutchNutch
Nutch
 
Trongtruong so27a 09
Trongtruong so27a 09Trongtruong so27a 09
Trongtruong so27a 09
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Data Warehouse
Data WarehouseData Warehouse
Data Warehouse
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
 
Big data là gì và người ta khai thác
Big data là gì và người ta khai thácBig data là gì và người ta khai thác
Big data là gì và người ta khai thác
 
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
 
Tìm hiểu MongoDB
Tìm hiểu MongoDBTìm hiểu MongoDB
Tìm hiểu MongoDB
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệu
 

Similaire à Nền tảng thuật toán của AI, Machine Learning, Big Data

Chuong 1. tong quan
Chuong 1. tong quanChuong 1. tong quan
Chuong 1. tong quanVũ Nam
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big DataNguyễn Duy Nhân
 
Ice dw-v contest2010
Ice dw-v contest2010Ice dw-v contest2010
Ice dw-v contest2010Nguyen Thanh
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTMasterCode.vn
 
CTDL&GT_01
CTDL&GT_01CTDL&GT_01
CTDL&GT_01kikihoho
 
056 giao trinh thvp2011
056 giao trinh thvp2011056 giao trinh thvp2011
056 giao trinh thvp2011Torres Pham
 
SFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 năm
SFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 nămSFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 năm
SFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 nămVu Hung Nguyen
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
Bài 6 Giải bài toán trên máy tính
Bài 6 Giải bài toán trên máy tínhBài 6 Giải bài toán trên máy tính
Bài 6 Giải bài toán trên máy tínhHòa Hoàng
 
Tính toán khoa học - Chương 1: Nhập môn Matlab
Tính toán khoa học - Chương 1: Nhập môn MatlabTính toán khoa học - Chương 1: Nhập môn Matlab
Tính toán khoa học - Chương 1: Nhập môn MatlabChien Dang
 

Similaire à Nền tảng thuật toán của AI, Machine Learning, Big Data (15)

Chuong 1. tong quan
Chuong 1. tong quanChuong 1. tong quan
Chuong 1. tong quan
 
Ltc 01
Ltc 01Ltc 01
Ltc 01
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big Data
 
Ice dw-v contest2010
Ice dw-v contest2010Ice dw-v contest2010
Ice dw-v contest2010
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
CTDL&GT_01
CTDL&GT_01CTDL&GT_01
CTDL&GT_01
 
056 giao trinh thvp2011
056 giao trinh thvp2011056 giao trinh thvp2011
056 giao trinh thvp2011
 
Baigiang05 thuattoan(1s 1p)
Baigiang05 thuattoan(1s 1p)Baigiang05 thuattoan(1s 1p)
Baigiang05 thuattoan(1s 1p)
 
SFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 năm
SFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 nămSFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 năm
SFD 2013 Hanoi: Phần mềm nguồn mở và dự tính khí hậu 100 năm
 
Chg1. Tong quan ve CNTT.pdf
Chg1. Tong quan ve CNTT.pdfChg1. Tong quan ve CNTT.pdf
Chg1. Tong quan ve CNTT.pdf
 
Đề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAYĐề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAY
 
Emailing buoi 2 thuat toan
Emailing buoi 2   thuat toanEmailing buoi 2   thuat toan
Emailing buoi 2 thuat toan
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
Bài 6 Giải bài toán trên máy tính
Bài 6 Giải bài toán trên máy tínhBài 6 Giải bài toán trên máy tính
Bài 6 Giải bài toán trên máy tính
 
Tính toán khoa học - Chương 1: Nhập môn Matlab
Tính toán khoa học - Chương 1: Nhập môn MatlabTính toán khoa học - Chương 1: Nhập môn Matlab
Tính toán khoa học - Chương 1: Nhập môn Matlab
 

Plus de Hong Ong

Dagster - DataOps and MLOps for Machine Learning Engineers.pdf
Dagster - DataOps and MLOps for Machine Learning Engineers.pdfDagster - DataOps and MLOps for Machine Learning Engineers.pdf
Dagster - DataOps and MLOps for Machine Learning Engineers.pdfHong Ong
 
DBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptxDBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptxHong Ong
 
Data Products for Mobile Commerce in Real-time and Real-life.pdf
Data Products for Mobile Commerce in Real-time and Real-life.pdfData Products for Mobile Commerce in Real-time and Real-life.pdf
Data Products for Mobile Commerce in Real-time and Real-life.pdfHong Ong
 
VWS2017: Bắt đầu Big Data từ đâu và như thế nào?
VWS2017: Bắt đầu Big Data từ đâu và như thế nào?VWS2017: Bắt đầu Big Data từ đâu và như thế nào?
VWS2017: Bắt đầu Big Data từ đâu và như thế nào?Hong Ong
 
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thịDistance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thịHong Ong
 
Bắt đầu học data science
Bắt đầu học data scienceBắt đầu học data science
Bắt đầu học data scienceHong Ong
 

Plus de Hong Ong (6)

Dagster - DataOps and MLOps for Machine Learning Engineers.pdf
Dagster - DataOps and MLOps for Machine Learning Engineers.pdfDagster - DataOps and MLOps for Machine Learning Engineers.pdf
Dagster - DataOps and MLOps for Machine Learning Engineers.pdf
 
DBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptxDBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptx
 
Data Products for Mobile Commerce in Real-time and Real-life.pdf
Data Products for Mobile Commerce in Real-time and Real-life.pdfData Products for Mobile Commerce in Real-time and Real-life.pdf
Data Products for Mobile Commerce in Real-time and Real-life.pdf
 
VWS2017: Bắt đầu Big Data từ đâu và như thế nào?
VWS2017: Bắt đầu Big Data từ đâu và như thế nào?VWS2017: Bắt đầu Big Data từ đâu và như thế nào?
VWS2017: Bắt đầu Big Data từ đâu và như thế nào?
 
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thịDistance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
 
Bắt đầu học data science
Bắt đầu học data scienceBắt đầu học data science
Bắt đầu học data science
 

Nền tảng thuật toán của AI, Machine Learning, Big Data

  • 1. Nền tảng Thuật toán của AI, Machine Learning, Big Data Ông Xuân Hồng - Research engineer
  • 2. Nội dung ● Tổng quan Big Data ● MapReduce - thuật toán nền tảng của Big Data ● Các thuật toán làm hằng ngày với Big Data ● Chia sẻ kinh nghiệm
  • 3. Tổng quan Big Data Message queue Processing Storage Management ● Amazon Kinesis ● SQS ● Apache Kafka ● Apache Spark ● Apache Storm ● Apache Flink ● Hadoop ● AWS S3, Google storage ● NoSQL ● Jenkins ● Git ● Docker ● Ansible ● Travis
  • 5. Storage - File distributed
  • 8. Storage - GPU database The rise of GPU databases
  • 12. Processing - Distributed computing ● Master/Driver ○ Chuyển program thành các tasks cho các workers. ○ Scheduling tasks để các workers hoạt động đồng bộ với nhau. ● n-Cluster/Executors ○ Hoàn thành các tasks và trả kết quả về Driver. ○ Cache dữ liệu khi được yêu cầu. ● SparkContext dùng để tạo RDDs.
  • 13. Processing - GPU computing 45x faster
  • 14. Processing - Quantum computing Since 1980
  • 15. Processing - Quantum computing
  • 16. Nội dung ● Tổng quan Big Data ● MapReduce - thuật toán nền tảng của Big Data ● Các thuật toán làm hằng ngày với Big Data ● Chia sẻ kinh nghiệm
  • 17. MapReduce - thuật toán nền tảng của Big Data
  • 20. MapReduce - Hadoop vs Spark
  • 21. Nội dung ● Tổng quan Big Data ● MapReduce - thuật toán nền tảng của Big Data ● Các thuật toán làm hằng ngày với Big Data ● Chia sẻ kinh nghiệm
  • 22. Các thuật toán làm hằng ngày với Big Data Máy tính dù có mạnh đến đâu cũng không cứu rỗi được một giải thuật tồi
  • 23. Swap two numbers a = 5, b = 8 temp = a a = b b = temp # a = 8, b = 5
  • 24. a = 5, b = 8 a = a + b = 5 + 8 = 13 b = a - b = 13 - 8 = 5 a = a - b = 13 - 5 = 8 # a = 8, b = 5 Swap two numbers
  • 25. Streaming when limit RAM RAM 4GB Data 100GB ● Approximate count ● Distinct count
  • 26. Dimension reduction ● Giảm số chiều dữ liệu ● Vẫn đảm bảo độ chính xác ● Tăng tốc độ tính toán, tiết kiệm bộ nhớ.
  • 27. Join Big tables Key A1 B1 k1 values 1 null Key A1 B1 k1 null values 2 O(n^2)
  • 28. Join Big tables Key A1 B1 k1 values 1 null Key A1 B1 k1 null values 2 Key A1 B1 k1 values 1 null k1 null values 2 Key A1 B1 k1 values 1 values 2 union SELECT Max(A1), Max(B1) GROUP BY Key O(n)
  • 29. Cho dãy số 12, 3, 5. Tìm medians (trung vị)? B1: sắp xếp tăng dần thành 3, 5, 12. Worse case O(n^2) B2: tìm trung vị. 3/2 = 1.5 ~ 2 B3: kết quả 5 Medians
  • 30. Medians Tìm medians tần số chuyển động tracking theo giây trên đồng hồ Mitsfit? Biết rằng giá trị giao động trong khoảng [-20.000, 20.000]
  • 31. 19.999 / 10.000 = 1 (for bin) 19.999 % 10.000 = 9.999 (for next bin) Find and medians base number Results: list medians [1, 9, 9, 9, 9] Medians
  • 32. ● Wavelet vs Fast Fourier Transform ● JPEG, PNG, Gif ● MP4, MOV ● Zip, gzip Compression Giả sử lưu lượng dữ liệu truyền qua Internet là 1.000.000.000 TB/s. Nếu kĩ thuật nén cải thiện được 0.1%. Ta sẽ tiết kiệm được 1.000.000.000 * 0.1 / 100 = 1.000.000 TB/s
  • 34. More and more ● Machine learning ○ Random forest ○ Matrix computation (dense, sparse vector) ○ Deep learning ● Big number: ○ Add, subtract, multiply, divide
  • 35. Nội dung ● Tổng quan Big Data ● MapReduce - thuật toán nền tảng của Big Data ● Các thuật toán làm hằng ngày với Big Data ● Chia sẻ kinh nghiệm
  • 36. ● Sử dụng cache và partition đúng cách để tăng tốc tính toán. ● Sử dụng vim, nano, less để quan sát file Big Data. ● Kiến thức cần có: toán rời rạc, xác suất thống kê, đại số tuyến tính. ○ Tính độ phức tạp. ○ Đọc hiểu các giải thuật liên quan. ● Sử dụng các công nghệ tiên tiến khi cần thiết: ○ GPU, quantum computing ● Yêu thích việc tối ưu tính toán. ● Nên áp dụng thuật toán theo hướng: ○ Chia để trị. ○ Quy hoạch động. ○ Xấp xỉ. ○ Độ phức tạp không quá O(n^2). ● Cố gắng thu nhỏ dữ liệu càng nhiều càng tốt: ○ Lấy mẫu 1% quần thể. ○ Giảm số chiều dữ liệu. ● Nên sử dụng binary file parquet cho lưu trữ và tính toán Big Data. ○ Kích thước được nén nhỏ. ○ Column oriented Chia sẻ kinh nghiệm
  • 37. ● Tổng quan về cấu trúc và dữ liệu ● Introduction to Algorithm, 3rd Edition (MIT Press) ● Sketching algorithm for Big Data ● Mining massive dataset (Stanford) ● 7 techniques dimensionality reduction ● Microsoft quantum computing Tham khảo thêm