[PYTHON] Remarques sur l'utilisation de Colab Pro pendant environ 2 mois (bons points / mauvais points)

Qu'est-ce que Google Colaboratory?

Un environnement Jupyter Notebook gratuit dans lequel vous pouvez écrire et exécuter du code Python sur votre navigateur. Le GPU peut également être utilisé, bien qu'il existe des restrictions d'utilisation.

Colab Pro Il s'agit d'une version payante (9,99 $ / mois) de Google Colaboratory. Il y a plusieurs avantages par rapport à la version régulière. Actuellement uniquement aux États-Unis (le contrat nécessite une adresse et une carte de crédit aux États-Unis).

Depuis que je vis aux États-Unis, je me suis inscrit à Colab Pro en même temps que le lancement. Après l'avoir utilisé pendant environ 2 mois, je l'ai ressenti, je vais donc laisser une note de mon savoir-faire. Sur la base du Texte officiel, j'écrirai sur la situation réelle (N = 1) que j'ai essayé d'utiliser.

** Information au 13 mai 2020. ** ** Ce service n'est pas garanti par les ressources, donc les ressources allouées aux utilisateurs changent dynamiquement. Par conséquent, les informations peuvent être totalement inutiles si l'heure est différente ou si la zone est différente (par exemple, lorsque le service démarre au Japon). S'il vous plaît soyez prudente.

bon point

Le GPU haute performance est essentiellement attribué tout le temps

Inscrivez-vous à Colab Pro pour donner la priorité au GPU le plus rapide. Par exemple, lorsqu'un utilisateur non enregistré se voit attribuer un GPU K80, l'utilisateur enregistré peut utiliser le GPU T4 ou P100. Le TPU est également disponible de préférence.

Dans mon cas, Tesla-P100 a été attribué par défaut (je n'ai pas touché T4 même une fois en 2 mois), mais peu importe à quel point j'abuse du GPU, ce n'est pas Tesla-P100. N'a jamais été assigné. Plus précisément, j'utilise le GPU presque tout le temps (sur un ordinateur portable) pour l'apprentissage automatique depuis un mois et ça va. colab3_s.jpg

Vous n'avez pas à vous soucier trop de la limite d'utilisation, vous pouvez exécuter le GPU sur plusieurs ordinateurs portables en même temps

La version gratuite de Colab a considérablement limité l'accès aux GPU plus rapides et a une limite d'utilisation beaucoup plus faible que Colab Pro. Colab Pro n'est pas sans limites d'utilisation. En outre, les types de GPU et de TPU disponibles dans Colab Pro sont susceptibles de changer à l'avenir.

Dans la version régulière, la limite d'utilisation a été atteinte dès que le GPU a été utilisé dans une certaine mesure, mais dans Pro, il a presque disparu. Cependant, j'ai également confirmé qu'il n'y avait pas de limite supérieure d'utilisation. Il a fallu environ une demi-journée pour exécuter le GPU sur 4 ordinateurs portables en même temps, et le GPU lui-même est devenu inutilisable avec l'avertissement ci-dessous que la limite était atteinte. colab_0420.jpg (On m'a conseillé de rejoindre Colab Pro même si j'utilise déjà Colab Pro).

Cependant, sans une telle utilisation extrême, la limite supérieure n'a jamais été atteinte même si elle fonctionnait en parallèle. À propos, même si la limite d'utilisation était atteinte, elle pourrait être utilisée après quelques heures. Le GPU a également été réaffecté au Tesla P100. Vous n'avez donc pas à avoir peur.

Il peut être exécuté en continu pendant 24 heures et il est peu probable que des délais d'expiration se produisent.

Avec Colab Pro, vous pouvez garder votre ordinateur portable connecté jusqu'à 24 heures avec des délais d'inactivité relativement faibles. Cependant, le temps de connexion n'est pas garanti et le comportement du délai d'inactivité peut changer. Avec la version gratuite de Colab, votre ordinateur portable peut être utilisé jusqu'à 12 heures. Les délais d'inactivité sont beaucoup plus stricts que Colab Pro.

Le temps de fonctionnement continu, qui était de 12 heures dans la version normale, a été augmenté à 24 heures. Ceci est assez important lors d'un traitement un peu lourd. Il faut environ une journée pour terminer l'étude, mais quand je dis cela, c'est bien de reprendre l'étude qui s'est arrêtée à chaque fois, mais elle se fanera si je la fais à chaque fois. Jusqu'à présent, tant que le processus est en cours, il ne s'est pas arrêté à mi-chemin avant que 24 heures se soient écoulées, et je me souviens qu'il s'est arrêté un peu dans la version régulière.

Délai d'inactivité, c'est-à-dire le moment où le runtime se déconnecte lorsque vous n'utilisez pas le notebook (même lorsque vous fermez le notebook), mais cela semble être plus long, mais cela ressemble aussi à un blâme. Même avec Pro, il semble qu'il soit assez coupé après environ 30 minutes, je pense qu'il a été coupé plus tôt avec la version normale, mais cela peut être dû à mon esprit (on m'a dit dans le passé qu'il y avait une règle des 90 minutes dans Colab). J'en ai envie, mais j'ai l'impression que ça ne dure presque jamais 90 minutes).

Une mémoire de grande capacité peut être utilisée

Colab Pro vous donne un accès prioritaire aux VM à mémoire élevée. Les machines virtuelles à mémoire élevée ont généralement deux fois plus de mémoire et de processeur que les machines virtuelles Colab standard. Les utilisateurs de Colab Pro peuvent activer l'utilisation de VM à mémoire élevée à partir des paramètres de leur ordinateur portable. Les VM à mémoire élevée peuvent également être automatiquement attribuées si Colab le juge nécessaire. Cependant, les ressources ne sont pas garanties et les machines virtuelles à mémoire élevée ont des limites d'utilisation. Les paramètres de mémoire élevée ne sont pas disponibles dans la version gratuite de Colab et les utilisateurs se voient rarement attribuer automatiquement des VM à mémoire élevée.

Certes, j'ai pu facilement configurer une VM haute mémoire (27G) en un seul clic. C'est facile (notez qu'il ne peut être attribué que s'il est configuré comme GPU). Jusqu'à présent, nous n'avons jamais atteint la limite d'utilisation de la mémoire. image.png

Prix pas cher

Vous pouvez utiliser un GPU hautes performances dans une certaine mesure pour 9,99 $ par mois. Je pense que les performances de coût sont incroyables car il était assez coûteux de créer une VM avec une configuration similaire avec GCP.

Pas de bons points

Colab Pro n'est pas inférieur à la version régulière, donc l'histoire principale concerne Colab lui-même.

Éditeur et environnement de débogage médiocres

Le seul éditeur pour éditer des fichiers (.py, etc.) autre que le notebook Colab est le bloc-notes standard presque simple de Colab, ou un éditeur cloud douteux qui peut être lié aux services Google. C'est dur. Pour le débogage, [Comment faire quelque chose avec des commandes magiques](https://ja.stackoverflow.com/questions/62955/google-colaboratory%E3%81%A7%E3%81%AE%E3%83%87% E3% 83% 90% E3% 83% 83% E3% 82% B0% E3% 81% AE% E3% 82% 84% E3% 82% 8A% E6% 96% B9), environ Imprimer en divisant les cellules en petits morceaux .. Les grands programmes qui nécessitent un débogueur décent peuvent ne pas convenir à la gestion sur Colab en premier lieu.

J'essaie de ne pas trop jouer avec le code de niveau de module sur le Colab de base. Je code et débogue légèrement dans l'environnement local et git push avant de courir sur Colab, et j'exécute ! Git pull à chaque fois dans la cellule d'exécution du livre de nœuds de Colab pour exécuter la dernière version du code.

La synchronisation avec Google Drive peut être retardée

Il s'agit d'un problème complexe de coopération entre les services plutôt que Colab, mais la synchronisation entre les fichiers sur Google Drive et Colab peut être désactivée. Plus précisément, il peut ne pas être synchronisé au moment où vous modifiez un script tel que .py et l'exécutez, et le contenu modifié peut ne pas être reflété. C'est dangereux car il entraîne souvent des bugs. C'est aussi l'un des inconvénients de l'écriture de code sur Colab ou Google Drive.

Si vous générez un fichier volumineux sur Google Drive en peu de temps, un problème peut survenir.

C'est complètement un problème du côté de Google Drive, mais si une grande quantité de données est générée dans un court laps de temps (Checkpoint en machine learning, etc.), les fichiers ne peuvent pas être générés dans Google Drive pendant un certain temps (l'enregistrement et le téléchargement sont également impossibles). Le phénomène s'est produit fréquemment. C'était comme si cela se produirait quand il dépassait 100 millions par minute. Une fois que le fichier ne pouvait pas être généré, il continuerait pendant plusieurs heures, ce qui entraverait mon travail. Par conséquent, il était nécessaire d'éviter de générer une grande quantité de données en peu de temps.

Il expire dans 24 heures sans aucune question

Comparé à 12 heures, l'expérience est assez différente, mais après tout, c'est ennuyeux de couper au milieu. Il est plus facile de mettre en place un mécanisme qui vous permet d'arrêter de penser et de reprendre l'apprentissage.

Le traitement peut s'arrêter si le réseau est instable

C'est un problème complètement local, mais il cessera de fonctionner avec le temps si le réseau est déconnecté et le notebook est déconnecté. Comme mentionné ci-dessus, il est dit que ce délai d'inactivité est également plus long que la version normale, mais ce n'est pas si évident. J'ai l'impression qu'il s'est arrêté à moins que je ne le remarque et que je revienne immédiatement. J'ai personnellement une ligne instable à la maison, donc avant de me coucher, j'entre à distance dans un PC avec une ligne stable et j'ouvre un ordinateur portable (je me demande ce que je fais). est).

Ne peut être utilisé qu'aux États-Unis

Je veux que vous démarriez le service au Japon (fortement demandé).

Résumé

C'était une note de Colab Pro. Nous mettrons à jour s'il y a des informations supplémentaires ou des changements. La situation peut être différente pour chaque utilisateur, donc j'apprécierais que vous fournissiez des informations (trop peu d'informations). Veuillez nous faire savoir si vous avez des idées sur la manière d'utiliser Colab efficacement.

Recommended Posts

Remarques sur l'utilisation de Colab Pro pendant environ 2 mois (bons points / mauvais points)
Conseils pour utiliser Elastic Search de manière efficace
Mémo de construction d'environnement d'apprentissage automatique par Python
L'histoire de l'utilisation de la réduction de Python
Remarques sur la configuration d'un conteneur Docker pour l'utilisation de JUMAN ++, KNP, python