Νέα

δροσερός! Οι παλιές συσκευές όπως το τηλέφωνο, το iPad και το MacBook σχηματίζουν ένα ετερογενές σύμπλεγμα και μπορούν να εκτελέσουν το Llama 3

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Αναφορά Μηχανικής Καρδιάς

Τμήμα Σύνταξης Machine Heart

Εάν έχετε κάποιο εφεδρικό εξοπλισμό, ίσως θέλετε να το δοκιμάσετε.

Αυτή τη φορά, ο εξοπλισμός υλικού στο χέρι σας μπορεί επίσης να λυγίσει τους μυς του στον τομέα της τεχνητής νοημοσύνης.

Συνδυάζοντας iPhone, iPad και Macbook, μπορείτε να συναρμολογήσετε μια "ετερογενή λύση συμπερασμάτων συμπλέγματος" και στη συνέχεια να εκτελέσετε ομαλά το μοντέλο Llama3.



Αξίζει να αναφέρουμε ότι αυτό το ετερογενές σύμπλεγμα μπορεί να είναι σύστημα Windows, Linux ή iOS και η υποστήριξη για Android θα είναι σύντομα διαθέσιμη.

Εκτελείται ετερογενές σύμπλεγμα.



Σύμφωνα με τον συγγραφέα του έργου @evilsocket, αυτό το ετερογενές σύμπλεγμα περιλαμβάνει iPhone 15 Pro Max, iPad Pro, MacBook Pro (M1 Max), NVIDIA GeForce 3080 και 2x NVIDIA Titan X Pascal. Όλος ο κώδικας έχει μεταφορτωθεί στο GitHub.

Βλέποντας αυτό, οι χρήστες του Διαδικτύου εξέφρασαν ότι αυτός ο ηλικιωμένος δεν είναι όντως απλός.



Ωστόσο, ορισμένοι χρήστες του Διαδικτύου αρχίζουν να ανησυχούν για την κατανάλωση ενέργειας Ανεξάρτητα από την ταχύτητα, δεν μπορούν να αντέξουν οικονομικά τον λογαριασμό ρεύματος. Η μετακίνηση δεδομένων εμπρός και πίσω προκαλεί υπερβολική απώλεια.





Εισαγωγή Έργου

Η υλοποίηση των παραπάνω λειτουργιών είναι αδιαχώριστη από ένα πλαίσιο Rust που ονομάζεται Cake. Το Cake μπορεί να ολοκληρώσει το κατανεμημένο συμπέρασμα μεγάλων μοντέλων (όπως το Llama3) και έχει σχεδιαστεί για να συνδυάζει υλικό καταναλωτικής ποιότητας σε ετερογενή συμπλέγματα. ώστε η τεχνητή νοημοσύνη να είναι πιο προσιτή.



Διεύθυνση έργου: https://github.com/evilsocket/cake

Η κύρια ιδέα του Cake είναι να τεμαχίζει κομμάτια μετασχηματιστή σε πολλές συσκευές για να μπορεί να εκτελεί συμπεράσματα σε μοντέλα που συνήθως δεν ταιριάζουν στη μνήμη GPU μιας μεμονωμένης συσκευής. Η εξαγωγή συμπερασμάτων σε διαδοχικά μπλοκ μετασχηματιστών στο ίδιο νήμα εργασίας εκτελείται σε παρτίδες για να ελαχιστοποιηθούν οι καθυστερήσεις που προκαλούνται από τη μεταφορά δεδομένων.

Τα συστήματα και οι συσκευές που υποστηρίζονται αυτήν τη στιγμή από την Cake είναι τα εξής:



συντάσσω

Μετά την εγκατάσταση του Rust, εκτελέστε τον ακόλουθο κώδικα:

κατασκευή φορτίου --απελευθέρωση

Εάν ο χρήστης θέλει να δημιουργήσει δεσμεύσεις iOS στην εφαρμογή, μπορεί να κάνει τα εξής:

φτιάξε ios

χρήση

Εκτελέστε τον κόμβο εργάτη:

cake-cli --model /path/to/Meta-Llama-3-8B # μονοπάτι μοντέλου, διαβάστε παρακάτω πώς να βελτιστοποιήσετε το μέγεθος μοντέλου για εργαζόμενους

--mode worker # run as worker

--name worker0 # όνομα εργάτη στο αρχείο τοπολογίας

--topology topology.yml # topology

--διεύθυνση 0.0.0.0:10128 # bind address

Εκτελέστε τον κύριο κόμβο:

cake-cli --model /path/to/Meta-Llama-3-8B

--τοπολογία τοπολογία.yml

Μεταξύ αυτών, το topology.yml καθορίζει ποια επίπεδα εξυπηρετούνται από ποιους εργαζόμενους:

Linux_server_1:

host: 'linux_server.host:10128'

περιγραφή: 'NVIDIA Titan X Pascal (12 GB)'

στρώματα:

- 'model.layers.0-5'

Linux_server_2:

κεντρικός υπολογιστής: 'linux_server2.host:10128'

περιγραφή: 'NVIDIA GeForce 3080 (10 GB)'

στρώματα:

- 'model.layers.6-16'

iphone:

οικοδεσπότης: 'iphone.host:10128'

περιγραφή: 'iPhone 15 Pro Max'

στρώματα:

- 'model.layers.17'

ipad:

οικοδεσπότης: 'ipad.host:10128'

περιγραφή: 'iPad'

στρώματα:

- 'model.layers.18-19'

macbook:

οικοδεσπότης: 'macbook.host:10128'

περιγραφή: 'M1 Max'

στρώματα:

- 'model.layers.20-31'

Όσον αφορά ζητήματα βελτιστοποίησης μνήμης και χώρου δίσκου, οι χρήστες μπορεί να επιθυμούν να παρέχουν στους εργαζόμενους μόνο τα δεδομένα που πραγματικά χρειάζονται στο μοντέλο και όχι ολόκληρο τον φάκελο, οπότε μπορεί να χρησιμοποιηθεί cake-split-model. Για παράδειγμα, για να δημιουργήσετε μια μικρότερη έκδοση των προστατευτικών ασφαλείας llama3, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα:

cake-split-model --model-path path/to/Meta-Llama-3-8B # source model to split

--topology path/to/topology.yml # αρχείο τοπολογίας

--έξοδος έξοδος-όνομα φακέλου

Σύνδεσμος αναφοράς: https://x.com/tuturetom/status/1812654489972973643