Apple

Pourquoi j'ai choisi le MacBook Air plutôt que le MacBook Pro en tant que Data Scientist | par Danny Cunningham | nov. 2021

Par Maximus , le 23 décembre 2021 - 18 minutes de lecture

Remarque : il existe d'autres différences entre l'Air et le Pro que je n'ai pas incluses dans le tableau ci-dessus. Certains d'entre eux pourraient influencer votre décision. Je discuterai de ces différences plus tard dans l'article.

Résumé du MacBook Air : L'ordinateur portable le moins cher de la gamme Apple (bien qu'à partir de 999 $, il reste assez cher). C'est aussi le MacBook le plus petit et le plus léger. Mais ne le considérez pas comme faible – il surpasse les MacBook haut de gamme des générations précédentes grâce à la puce M1. L'option "mise à niveau" que j'ai répertoriée est la plus élevée possible pour la mémoire, le processeur et le processeur graphique.

Résumé du MacBook Pro : L'ordinateur portable le plus puissant d'Apple, mais wow c'est cher… il départs à 1999 $. Vous pouvez pousser les spécifications (et le prix) beaucoup plus haut si vous le souhaitez, surtout si vous optez pour la puce M1 Max. Il est disponible en tailles 14" et 16", et les spécifications et les prix disponibles sont assez similaires – c'est à vous de décider si vous préférez la portabilité ou un écran plus grand.

Qu'est-ce qui manque ? Si vous connaissez la gamme Apple, vous remarquerez que j'ai omis le M1 Max MacBook Pro. Si vous utilisez principalement votre ordinateur portable pour des tâches de science des données/ingénierie, vous n'avez probablement pas besoin de toute la puissance de la puce M1 Max. Ou si vous le faites, l'argent supplémentaire que vous dépenseriez pour le M1 Max est probablement mieux dépensé ailleurs. J'ai également omis le MacBook Pro 2020 M1 parce que je ne pense pas que ce soit un bon choix pour quiconque – ses spécifications sont extrêmement similaires à celles du MacBook Air pour quelques centaines de dollars de plus.

Prenons chaque ordinateur portable pour un tour et voyons comment ces spécifications se traduisent en performances. J'ai acheté les quatre configurations et les ai passées à travers une série de tests de référence. (Et puis j'ai retourné ceux que je ne voulais pas – merci pour votre processus de retour facile, Apple !)

Étant donné que je prévois d'utiliser mon ordinateur portable pour des projets de science des données, j'ai conçu mes tests de référence en pensant aux tâches de science des données. Plus précisément, j'ai testé trois bibliothèques Python couramment utilisées pour les tâches de science des données :

  • Les pandas : Testez quelques opérations de données de base. Plus précisément, joignez quelques grandes dataframes ensemble, puis faites pivoter une grande dataframe. Mesurez le temps que prend chaque opération. Il s'agit principalement d'une tâche gourmande en mémoire.
  • LightGBM : Entraînez un modèle de classification multiclasse sur un grand ensemble de données à l'aide de la bibliothèque lightgbm. Mesurez le temps de formation du modèle. Il s'agit principalement d'une tâche gourmande en CPU.
  • TensorFlow : Adaptez les réseaux de neurones à l'aide de la bibliothèque TensorFlow, qui permet l'accélération GPU sur les Mac. Plus précisément, entraînez un réseau de neurones convolutifs (CNN) sur l'ensemble de données MNIST bien connu et entraînez le modèle CycleGAN sur l'ensemble de données horse2zebra. Mesurez le temps moyen par époque. Il s'agit principalement d'une tâche gourmande en GPU.

Vous pouvez trouver tous les détails des tests sur GitHub, y compris tout le code source et les instructions pour exécuter les tests par vous-même.

Résultats

Les graphiques ci-dessous montrent les performances des cinq ordinateurs portables que j'ai testés. Voici la clé pour les étiquettes des axes :

  • MBA de base : le modèle de base M1 MacBook Air (voir graphique précédent)
  • MBA amélioré : le MacBook Air amélioré M1 (voir graphique)
  • MBP de base : le modèle de base M1 Pro MacBook Pro (voir graphique)
  • MBP amélioré : le MacBook Pro amélioré M1 Pro (voir graphique)
  • MBP 2019 : un MacBook Pro 16" avec 16 Go de RAM et un processeur Intel i7 6 cœurs et un processeur graphique AMD Radeon Pro 5300M — un MacBook assez puissant de la dernière génération Intel (c'est mon ordinateur portable de travail)

Passons en revue les résultats de chaque test un par un.

Le test de référence Pandas nécessite le stockage et la manipulation de grandes trames de données en mémoire. Les trois machines M1 avec 16 Go de mémoire (MBA mis à niveau, MBP de base et MBP mis à niveau) ont surpassé de manière prévisible la machine avec 8 Go de mémoire (MBA de base) d'environ 50 %. Ne vous laissez pas trop emporter par les chiffres exacts – il y aura des écarts en raison de l'utilisation de la RAM par d'autres tâches sur la machine. Vous devez considérer que les performances des trois modèles du milieu sont les mêmes.

Un résultat très prometteur est que le MacBook Air de base M1 surpasse le MacBook Pro 2019 16" dans ce test, même si l'ancienne machine a deux fois plus de mémoire. Il semble qu'une puce M1 avec 8 Go de RAM battra une puce Intel avec 16 Go de RAM. C'est incroyable.

A retenir : Doubler votre mémoire rend les tâches gourmandes en mémoire (environ) deux fois plus rapides, comme prévu. L'Air et le Pro fonctionneront de la même manière s'ils ont la même quantité de mémoire. Et M1 botte les fesses d'Intel.

Le LightGBM a adapté un modèle de classification d'arbres à gradient sur un grand ensemble de données. Il s'agissait d'une tâche gourmande en ressources CPU : tous les cœurs de processeur sont au maximum lors de l'exécution du test.

Commençons par les résultats du MacBook Pro M1 Pro. Le MBP mis à niveau a 25% de cœurs en plus et atteint des performances 15% meilleures. Certains rendements décroissants, mais l'ajout de cœurs de processeur a un effet assez linéaire sur les performances.

Mettons maintenant les résultats du MacBook Air dans leur contexte. Bien que l'Air et la base Pro aient tous deux des processeurs à 8 cœurs, ils ne sont pas identiques – l'Air a 4 cœurs de performance et 4 cœurs d'efficacité, tandis que le Pro a 6 cœurs de performance et 2 cœurs d'efficacité. Quelle différence cela fait-il? Eh bien, le test de référence montre que la différence est mesurable mais pas énorme. La base Pro surpasse l'Air d'environ 8%. En d'autres termes, l'écart entre les deux modèles Pro est deux fois plus grand que l'écart entre le modèle Air et le modèle Pro de base.

A retenir : L'augmentation des cœurs de processeur améliore les performances de manière prévisible. Les performances du MacBook Air se situent à environ 8% de celles du MacBook Pro malgré l'efficacité et la répartition des performances. Et encore une fois, même la puce M1 la moins puissante surpasse la puce Intel.

Je combine les deux tests TensorFlow dans le même résumé car ils racontent la même histoire. Dans les deux tests, un modèle de réseau neuronal a été formé sur un ensemble de données. TensorFlow est capable d'utiliser l'accélération GPU sur les Mac (M1 et Intel), il s'agissait donc principalement d'un test du GPU.

Encore une fois, ces résultats sont sortis à peu près exactement comme on pourrait s'y attendre en regardant les spécifications. Le GPU MBP mis à niveau a 14 % de cœurs en plus que le MBP de base, et le modèle de base est 10 % plus lent. Le MBP de base a le double des cœurs du MBA de base, et le MBA est 75% plus lent (en faisant la moyenne des résultats des deux tests). Il y a des rendements décroissants, mais l'augmentation du nombre de cœurs GPU améliore les performances dans ce test de référence comme prévu.

Et c'est la plus grande différence que nous ayons vue entre les machines M1 et Intel. Toutes les machines M1 ont dominé le MacBook Pro 2019 d'Intel. (Et je m'attendrais à ce que cette différence devienne plus dramatique avec le temps – TensorFlow travaux sur un GPU M1, mais il n'a probablement pas encore été optimisé. Je m'attendrais à des améliorations de la bibliothèque TensorFlow qui se traduiront par des améliorations progressives des performances sur les machines M1 au cours des prochaines années.)

Je n'ai testé sur aucune machine M1 Max, mais elles atteindraient évidemment des performances encore meilleures. Vous pouvez spécifier le M1 Max jusqu'à 32 Go de cœurs GPU (si vous êtes prêt à dépenser plus de 3 100 $). Vous pouvez extrapoler à partir du graphique de référence TensorFlow pour obtenir une assez bonne estimation des performances de cette puce.

Une autre chose à noter ici est que le MacBook Air n'a pas de ventilateur. Cela n'a généralement pas d'importance car l'efficacité de la puce M1 maintient les températures sous contrôle, mais l'ordinateur va chauffer sous des charges de travail prolongées (telles que la formation d'un réseau de neurones profonds). Il y a de fortes chances que vous voyiez un étranglement thermique à un moment donné, ce qui ralentirait quelque peu les choses. Mes repères n'ont pas fonctionné assez longtemps pour remarquer une limitation, je ne peux donc pas commenter l'importance de l'effet. Le MacBook Pro a un ventilateur, il serait donc moins affecté par la limitation.

A retenir : L'augmentation des cœurs GPU améliore les performances de TensorFlow de manière prévisible, c'est donc une grande victoire pour le MacBook Pro et son GPU est plus grand que le MacBook Air. Toutes les puces fonctionnent très bien par rapport aux anciens Mac.

Remarque connexe : Toutes les bibliothèques populaires ne sont pas intégrées au GPU M1. Par exemple, PyTorch ne prend actuellement pas en charge l'intégration GPU sur Mac (M1 ou Intel) et il n'est pas clair s'ils ajouteront une prise en charge à l'avenir. Si vous êtes un utilisateur de PyTorch, c'est quelque chose que vous devrez contourner, soit en utilisant TensorFlow à la place, en payant des ressources de cloud computing, ou en achetant une machine Linux et un GPU distincts pour l'apprentissage automatique.

Avant de faire des recommandations, je tiens à reconnaître certains autres facteurs qui pourraient influencer votre décision d'ordinateur portable, car la plupart d'entre nous n'utilisent pas nos ordinateurs portables. seul pour travailler avec des données.

Il est clair qu'Apple a conçu le dernier MacBook Pro pour les personnes faisant de la conception graphique intensive, du rendu 3D, du travail vidéo, etc. Ils bénéficieront le plus de la puissance des puces M1 Pro et M1 Max. Ces utilisateurs devraient payer pour les modèles mis à niveau car il n'y a pas de meilleure alternative sur le marché. Si vous faites (beaucoup) ce type de travail en plus de la science des données, vous voudrez opter pour un MacBook Pro. Sinon, il y a de fortes chances que vous n'ayez pas vraiment besoin de toute cette puissance.

L'écran Liquid Retina XDR du MacBook Pro est un pouce plus grand et bien meilleur que l'écran LED du MacBook Air. C'est un argument de vente énorme pour les personnes qui font du travail photo et vidéo, mais c'est aussi bien pour les tâches quotidiennes comme regarder des films. La webcam du Pro a également une résolution plus élevée (1080p contre 720p en direct), ce qui pourrait être important pour les utilisateurs qui participent à de nombreux appels vidéo.

Le MacBook Pro dispose d'un port HDMI, d'un emplacement pour carte SD et d'un port de chargement MagSafe, la connectivité n'est donc jamais un problème – le MacBook Air est limité à deux ports Thunderbolt/USB-C. Et le Pro peut se connecter à plusieurs écrans externes tandis que l'Air est limité à un. Probablement pas des dealbreakers, mais ces fonctionnalités ont de la valeur.

Gardez à l'esprit que MacBook Air présente également certains avantages. Il a une meilleure autonomie de batterie et il est plus léger que le Pro (2,8 lb contre 3,5 pour le 14" Pro). Et c'est une préférence personnelle, mais je pense que la conception en coin du MacBook Air est bien meilleure que le nouveau MacBook Pro.

L'absence de ventilateur dans le MacBook Air peut être à la fois un avantage et un inconvénient.

Et le prix, bien sûr ! Tous ces ordinateurs portables sont chers, mais le MacBook Pro est vraiment coûteux. Vous devez décider s'il s'agit vraiment de dépenser autant d'argent sur un ordinateur portable ou si cet argent est mieux dépensé ailleurs.

Le MacBook Air a un an de plus, vous pouvez donc les trouver actuellement remis à neuf par Apple, ce qui en fait une offre encore meilleure. J'ai acheté le mien reconditionné et j'en suis content. Et parfois, vous pouvez également trouver des offres si vous n'achetez pas directement auprès d'Apple (par exemple, auprès d'Amazon).

Il est enfin temps de recommander des ordinateurs portables ! Les recommandations ci-dessous tiennent compte des résultats des tests de référence et des autres considérations que j'ai décrites.

Choisissez le MacBook Air (puce M1) si…

Vous avez des charges de travail en science des données légères à moyennement lourdes. Si la majeure partie de votre travail consiste à manipuler et nettoyer des données, à analyser des données de base et/ou à adapter des modèles d'apprentissage non approfondis, vous êtes probablement ce type d'utilisateur. Je fais partie de cette catégorie (lisez la section « Mon parcours » si vous voulez plus de détails).

Le MacBook Air vous donnera beaucoup de puissance et sera probablement beaucoup plus rapide que n'importe quel ordinateur portable à partir duquel vous effectuez la mise à niveau. Le GPU à 7 ou 8 cœurs est suffisamment puissant pour un travail d'apprentissage en profondeur – il vous suffit de penser à la mise à niveau vers le MacBook Pro si vous effectuez beaucoup de ce type de travail et décidez que vous avez vraiment besoin de vos modèles pour s'entraîner plus rapidement .

Les utilisateurs légers seront d'accord avec le modèle de base et 8 Go de RAM, mais cela vaut probablement la peine pour la plupart des data scientists de passer à 16 Go de RAM. Les tâches que vous effectuez le plus fréquemment, comme la transformation de grands ensembles de données, seront beaucoup plus rapides et vous serez plus productif.

Si vous êtes d'accord avec le disque dur de 256 Go, je resterais avec l'option GPU de base à 7 cœurs. Si vous voulez un disque dur de 512 Go ou plus, je vous recommande de passer à l'option GPU à 8 cœurs – cela ne coûtera que 50 $ de plus.

Choisissez le MacBook Pro (puce M1 Pro) si…

Vous avez une charge de travail très lourde en science des données et/ou vous avez des besoins non liés à la science des données qui bénéficieraient d'un GPU plus puissant. Vous n'en aurez pour votre argent que si vous profitez systématiquement du puissant GPU de la puce M1 Pro. En science des données, cela signifie probablement que vous faites beaucoup d'apprentissage en profondeur. En dehors de la science des données, vous pourriez justifier cet achat si vous effectuez beaucoup de travaux de conception ou de vidéo nécessitant un GPU puissant.

C'est à vous de décider si cela vaut la peine de mettre à niveau le processeur à 10 cœurs et le modèle de GPU à 16 cœurs. Il s'agit d'une augmentation de 200 $ par rapport au modèle de base et vous offre une amélioration modeste mais mesurable des performances (reportez-vous aux tests de référence). Il existe également beaucoup plus de mises à niveau que vous pouvez apporter à cette machine, mais le prix augmente en conséquence.

Choisissez le MacBook Pro (puce M1 Max) si…

Vous avez des besoins non liés à la science des données qui nécessitent un GPU puissant, comme la conception ou le travail vidéo. Je ne pense pas que le M1 Max soit la bonne option pour la plupart des data scientists.

Vous pourriez penser que le M1 Max serait un excellent choix si vous faites beaucoup d'apprentissage en profondeur, et vous auriez raison… en quelque sorte. De toute évidence, le M1 Max est le MacBook le mieux équipé pour la formation de modèles optimisés pour le GPU. Mais ça va te coûter cher beaucoup d'argent – un minimum de 2899 $ pour l'option GPU à 24 cœurs, et plus si vous effectuez d'autres mises à niveau.

Pour les charges de travail d'apprentissage en profondeur lourdes, je vous recommanderais d'acheter un Mac moins cher (l'Air ou le M1 Pro) et d'utiliser l'argent économisé pour payer les ressources de calcul cloud lorsque vous en avez besoin. Votre ordinateur portable sera toujours assez capable pour des travaux à plus petite échelle, et lorsque vous avez vraiment besoin de puissance supplémentaire, vous pouvez payer pour les ressources et toujours probablement gagner du terrain. Et gardez à l'esprit que certaines choses comme PyTorch ne fonctionneront pas bien sur n'importe quel Mac, même le M1 Max, vous devrez donc décharger ce travail ailleurs de toute façon. Vous pouvez également envisager d'acheter un boîtier Linux et un GPU Nvidia à utiliser pour l'apprentissage automatique.

Choisissez un ancien MacBook Pro (puce Intel) si…

Vous voulez vraiment éviter les interruptions de vos environnements, workflows ou pipelines de données existants. Si vous migrez depuis un Mac Intel, la transition ne sera pas indolore. Vous allez devoir réinstaller pas mal de choses à cause des différences entre l'ARM64 des nouveaux Mac et l'architecture x86 des anciens modèles Intel. Par exemple, vous devrez installer de nouvelles versions de Python, Conda et d'autres outils, et vous devrez réinstaller les packages dans vos environnements. Attendez-vous à faire du dépannage.

Cela dit, le changement en vaut la peine pour la plupart des gens. Après la phase de transition, vous aurez une machine meilleure et plus rapide. Les problèmes de compatibilité sont probablement plus préoccupants pour les cas d'utilisation professionnels où des perturbations pourraient interrompre le code de production. Et vous pouvez toujours utiliser Rosetta à court terme pour exécuter des applications et des programmes conçus pour les processeurs Intel/l'architecture x86.

Choisissez autre chose (un ordinateur portable non Apple) si…

Vous voulez un système d'exploitation et une expérience utilisateur pires. (Je rigole!)

Sans trop entrer dans les préférences personnelles pour les systèmes d'exploitation, les Mac présentent certains inconvénients dans les cas d'utilisation de la science des données. Par exemple, PyTorch ne prend pas en charge le GPU pour les Mac. Si vous faites beaucoup d'apprentissage en profondeur, surtout si vous utilisez PyTorch, vous serez peut-être mieux servi avec une machine Windows ou Linux avec un GPU Nvidia. (Ou obtenez quand même un Mac et payez pour des ressources de cloud computing !)

Maximus