Goodbye ai box: clustering macbooks for llms using thunderbolt and nas
Trong hướng dẫn toàn diện này, người tạo nội dung nói lời tạm biệt với hộp phần cứng ai truyền thống "ồn ào, lớn và nóng," thay thế bằng một thiết lập tiên tiến sử dụng bốn macbook, một nas (lưu trữ kết nối mạng) tốc độ cao và một cầu nối thunderbolt. Các thuật ngữ như llms (large language models), nas chỉ ssd, quy trình làm việc clustering và các công cụ clustering mã nguồn mở (cụ thể là exo) trở thành tâm điểm khi chúng ta đào sâu vào một thiết lập phát triển hiệu quả cao, hoạt động êm ái và có thể mở rộng.
This marks the beginning of swapping bulky hardware with a light, high-performance macbook cluster!
replacing the outdated "ai box"
Người trình bày bắt đầu bằng việc nêu ra những hạn chế của việc chỉ dựa vào "ai box." Phần cứng khổng lồ này, trước đây được sử dụng để chạy quy trình làm việc llm, tiêu tốn một lượng không gian và năng lượng khổng lồ trong khi tạo ra lượng nhiệt và tiếng ồn đáng kể. Nhận ra những bất hiệu quả này, người tạo nội dung giới thiệu một giải pháp thay thế—cụm bốn macbook nhẹ và sử dụng nas chỉ ssd cho quy trình làm việc llm. Sự chuyển mình này hứa hẹn tốc độ ấn tượng, hiệu quả năng lượng và lợi ích tiết kiệm không gian mà không làm giảm hiệu suất.
components of the new setup
Tại trung tâm của thí nghiệm này là một nas chỉ ssd và một cầu nối thunderbolt, kết hợp với các macbook có cấu hình khác nhau. Các thành phần thiết yếu được thảo luận bên dưới.
The nas (network attached storage)
Phần cứng lưu trữ cốt lõi trong hệ sinh thái này là một nas chỉ ssd hoàn toàn mới của terramaster. Khác với das (direct attached storage) truyền thống, kết nối trực tiếp với một máy, nas là mạng dựa và cho phép nhiều thiết bị truy cập lưu trữ chia sẻ đồng thời. Tính năng này rất quan trọng cho việc tạo cụm nhiều máy vì:
- Giảm tính dư thừa dữ liệu: Lưu trữ mô hình tập trung trên nas loại bỏ nhu cầu tải xuống các llm cồng kềnh riêng biệt trên mỗi máy.
- Tốc độ và sự yên tĩnh: Là nas dựa trên ssd, nas này vừa nhanh lại gần như im lặng.
- Khả năng mở rộng: Nas của terramaster bao gồm một nic (network interface card) 10 gigabit. Trong khi thiết lập chỉ sử dụng 2.5 gbps do giới hạn mạng, điều này vẫn đảm bảo tốc độ chuyển dữ liệu nhanh cho các tác vụ clustering.
Người trình bày cũng lưu ý một khả năng thú vị: sử dụng nas như một máy chủ truyền thông trong tương lai do khả năng của nó.
The thunderbolt bridge
Chuyển từ wifi (được sử dụng trước đây) sang cầu nối thunderbolt có dây là một cải tiến quan trọng khác. Với các kết nối vô cùng ổn định, phương pháp mới này tận dụng sức mạnh của các cổng thunderbolt trên macbook để kết nối các hệ thống trực tiếp mà không phụ thuộc vào mạng wifi chậm hơn. Mỗi macbook được gán một địa chỉ ip thủ công để giao tiếp mượt mà và hiệu quả hơn.
Để làm rõ:
- Macbook pro chính hoạt động như một trung tâm, kết nối với cáp thunderbolt đến tối đa ba macbook khác.
- Cấu hình ip thủ công đảm bảo độ ổn định và hiệu suất nhanh hơn khi chuyển dữ liệu hoặc phân phối khối lượng công việc xử lý llm giữa các máy.
Manually assigning ip addresses to ensure seamless thunderbolt connections between macbooks.
open-source tool: "exo" for clustering
Việc tạo cụm các macbook để phân phối các tác vụ llm nặng nề được thực hiện bằng công cụ exo của exo labs. Người trình bày mô tả exo như một khung mã nguồn mở thân thiện với người dùng và hiệu quả, thiết kế để chia nhỏ khối lượng công việc khổng lồ giữa nhiều thiết bị.
Hardware stack for clustering:
- Macbook pro 16: Máy chính với 64gb ram.
- Macbook airs: Các phiên bản m1, m2 và m3, mỗi chiếc được trang bị 8gb ram.
Lợi thế của exo không chỉ nằm ở việc tạo cụm mà còn ở phân bổ tài nguyên thông minh. Các mô hình nặng ram được chia nhỏ giữa tất cả các hệ thống bằng cách tận dụng dấu chân bộ nhớ độc đáo của mỗi macbook. Điều này đảm bảo việc phân phối hiệu quả, ngay cả trên các thiết bị giới hạn bộ nhớ như macbook airs 8gb.
Cải tiến chính:
- Trong các thí nghiệm trước đây (với chỉ ba thiết bị), các mô hình phải được tải xuống cục bộ trên mỗi máy tính. Tuy nhiên, bằng cách tích hợp nas chia sẻ, tính dư thừa bị loại bỏ khi tất cả các hệ thống lấy các mô hình từ một vị trí tập trung.
- Bên cạnh đó, việc thiết lập các biến môi trường tùy chỉnh như
hf_home
cho phép exo tự động tham chiếu các mô hình lưu trữ nas khi khởi tạo.
Quá trình tích hợp nas bao gồm:
- Ánh xạ các thư mục smb từ nas, với các thư mục cụ thể cho các mô hình.
- Đặt
hf_home
làm biến môi trường sử dụng các đường dẫn thư mục (ví dụ:/volumes/alexmodels/huggingface/
). - Khởi động lại terminal sau khi cấu hình để cho phép exo truy cập vào đường dẫn lưu trữ chia sẻ này.
Configuring exo to seamlessly pull large llm models directly from the nas.
testing: llm performance across nodes
Khi thiết lập hoàn tất, người trình bày kiểm tra hiệu quả của việc clustering bằng cách làm việc trực tiếp với các mô hình có quy mô khác nhau. Các bước bao gồm:
- Initializing a single macbook: Thiết lập exo ban đầu chỉ chạy trên một nút. Hệ thống được thử nghiệm với các mô hình nhỏ hơn như phiên bản 1 tỷ tham số của llama 3, hoạt động cục bộ trên máy này.
- Expanding the cluster: Các macbook bổ sung được kết nối và xác định bởi exo, mở rộng cụm lên ba, và cuối cùng là bốn nút.
- Handling large models: Chạy các mô hình nặng tài nguyên như quen-2.5b với 14 tỷ tham số cho thấy exo phân phối tải hiệu quả giữa các máy. Mặc dù macbook airs có bộ nhớ hạn chế, exo đảm bảo tải công việc vẫn nằm trong khả năng kiểm soát nhờ ram chia sẻ.
Nhận xét:
- Các mô hình nhỏ hơn (ví dụ, 1b tham số) được xử lý nhanh hơn (lên đến 40 tokens/giây).
- Tuy nhiên, việc xử lý các mô hình lớn hơn cần phân phối công việc trên tất cả bốn hệ thống để vượt qua giới hạn bộ nhớ trong các nút riêng lẻ.
- Exo sử dụng thông minh ram 64gb của macbook pro cho những phần nặng, đảm bảo rằng macbook airs không vượt quá giới hạn bộ nhớ 8gb của chúng.
Exo seamlessly detects and integrates all four macbooks into a single functioning cluster.
additional setup challenges
Việc thiết lập một môi trường đa thiết bị chắc chắn gây ra những thách thức. Một trong những vấn đề gặp phải là lỗi quyền, đặc biệt liên quan đến việc truy cập thư mục nas cùng lúc từ bốn máy mac. Vấn đề đã nhanh chóng được giải quyết, cho phép mô hình quen 14b, nặng tài nguyên nhất, thực hiện một cách không gặp trở ngại trên cụm.
Interesting benchmarks:
- Tốc độ thông lượng (tokens/giây) thay đổi đáng kể dựa trên máy:
- M1 macbook air: 23 tokens/giây.
- M2 macbook air: 18 tokens/giây.
- M3 macbook air: 30 tokens/giây.
- M2 max macbook pro: 48 tokens/giây.
Những kết quả này nhấn mạnh hiệu quả của exo trong việc tận dụng khả năng cụ thể của từng thiết bị để hoạt động hòa hợp.
final thoughts: a compact, scalable solution
Thí nghiệm này chứng minh rằng việc clustering macbooks với sự giúp đỡ của nas và công cụ exo là một giải pháp thay thế khả thi và hiệu quả cho các thiết lập phần cứng ai cồng kềnh. Nas không chỉ trung tâm hóa lưu trữ mô hình mà còn giảm đáng kể việc trùng lặp dữ liệu, trong khi cầu nối thunderbolt đảm bảo giao tiếp nhanh chóng và ổn định giữa các máy.
Takeaways:
- Nas chỉ ssd, mặc dù không phải là rẻ nhất, vẫn đáng để đầu tư cho những ai cần giải pháp lưu trữ nhanh, yên tĩnh và tập trung.
- Exo đơn giản hóa nhiệm vụ chạy các llm quy mô lớn trên các cụm, đặc biệt khi kết hợp với phần cứng tốt và lưu trữ chia sẻ.
Tổng thể, thiết lập mới mở ra những cánh cửa thú vị cho các nhà phát triển có thể không có quyền truy cập vào các máy chủ nặng gpu nhưng muốn thử nghiệm với các quy trình ai sử dụng laptop nhẹ.
Tìm kiếm thêm các thí nghiệm? Kiểm tra các thí nghiệm trước đó của người sáng tạo với các thiết lập ai và tìm hiểu thêm về exo!
Be sure to check the innovation in distributed machine learning by exo!