Maison >Périphériques technologiques >IA >Application des algorithmes d'IA à la gouvernance du Big Data
Cet article partage principalement l'expérience de Datacake dans l'application des algorithmes d'IA à la gouvernance du Big Data. Ce partage est divisé en cinq parties : la première partie clarifie la relation entre le big data et l'IA. Le big data peut non seulement servir l'IA, mais peut également utiliser l'IA pour optimiser ses propres services. Les deux se soutiennent et dépendent mutuellement. présente l'utilisation de la pratique d'application du modèle d'IA pour évaluer de manière exhaustive la santé des tâches Big Data, fournissant une base quantitative pour la gouvernance ultérieure des données. objectif d'améliorer l'utilisation des ressources cloud ;
Le concept général est que le cloud computing collecte et stocke des données massives pour former du big data puis, grâce à l'exploration et à l'apprentissage du big data, des modèles d'IA ; se forment ensuite. Ce concept suppose tacitement que le Big Data sert l’IA, mais ignore le fait que les algorithmes d’IA peuvent également renvoyer au Big Data. Il existe entre eux une relation bidirectionnelle, mutuellement dépendante.
L'ensemble du cycle de vie du Big Data peut être divisé en six étapes. Chaque étape est confrontée à certains problèmes. Une bonne utilisation des algorithmes d'IA peut aider à résoudre ces problèmes.
Collecte de données : À ce stade, nous accorderons plus d'attention à la qualité, à la fréquence et à la sécurité de la collecte de données, par exemple si les données collectées sont complètes, si la vitesse de collecte des données est trop rapide ou trop lente, et si la vitesse de collecte des données est trop rapide ou trop lente, si les données ont été désensibilisées ou cryptées, etc. À l’heure actuelle, l’IA peut jouer certains rôles, comme évaluer la rationalité de la collecte de journaux sur la base d’applications similaires et utiliser des algorithmes de détection d’anomalies pour détecter des augmentations ou des diminutions soudaines du volume de données.
Transmission des données : Cette étape accorde plus d'attention à la disponibilité, à l'intégrité et à la sécurité des données. Les algorithmes d'IA peuvent être utilisés pour effectuer des diagnostics de pannes et des détections d'intrusions.
Stockage des données : À ce stade, nous prêtons plus attention à savoir si la structure de stockage des données est raisonnable, si l'utilisation des ressources est suffisamment faible, si elle est suffisamment sûre, etc. Algorithmes d'IA peut également être utilisé pour effectuer une évaluation et une optimisation.
Traitement des données : Cette étape est celle qui présente les avantages d'impact et d'optimisation les plus évidents. Son objectif principal est d'améliorer l'efficacité du traitement des données et de réduire la consommation de ressources. L'IA peut être optimisée à partir de plusieurs points de départ.
Échange de données : Il y a de plus en plus de coopération entre les entreprises, ce qui impliquera des problèmes de sécurité des données. Des algorithmes peuvent également être appliqués dans ce domaine. Par exemple, l’apprentissage fédéré populaire peut aider à partager des données de manière plus efficace et plus sécurisée.
Destruction des données : Il est impossible de simplement sauvegarder des données sans les supprimer, vous devez donc déterminer quand vous pouvez supprimer les données et s'il existe des risques. Sur la base de règles métier, les algorithmes d’IA peuvent aider à déterminer le moment et l’impact associé de la suppression des données.
Dans l'ensemble, la gestion du cycle de vie des données poursuit trois objectifs majeurs : une efficacité élevée, un faible coût et une sécurité. L'approche précédente consistait à s'appuyer sur l'expérience d'experts pour formuler certaines règles et stratégies, qui présentaient des inconvénients très évidents, tels qu'un coût élevé et une faible efficacité. Une utilisation appropriée des algorithmes d’IA peut éviter ces inconvénients et contribuer à la construction de services de base du Big Data. Dans Qingzi Technology, plusieurs scénarios d'application ont été mis en œuvre. Le premier est l'évaluation de la santé des tâches Big Data. 2. Évaluation de la santé des tâches Big Data
Sur la plateforme Big Data, des milliers de tâches sont exécutées chaque jour. Cependant, de nombreuses tâches n'en sont qu'au stade de la production de nombres corrects, et aucune attention n'est accordée au temps d'exécution de la tâche, à la consommation de ressources, etc., ce qui entraîne une faible efficacité et un gaspillage de ressources dans de nombreuses tâches.
Même si les développeurs de données commencent à prêter attention à la santé des tâches, il est difficile d'évaluer avec précision si la tâche est saine ou non. Étant donné qu'il existe de nombreux indicateurs liés aux tâches, tels que le taux d'échec, la durée, la consommation de ressources, etc., et qu'il existe des différences naturelles dans la complexité des différentes tâches et le volume de données traitées, il est évidemment déraisonnable de simplement sélectionner le valeur absolue d'un certain indicateur comme critère d'évaluation de.
Sans état de santé quantifié des tâches, il est difficile de déterminer quelles tâches sont malsaines et doivent être traitées, sans parler de l'endroit où se situe le problème et par où commencer pour le traiter. Même si le traitement est terminé, vous ne le faites pas. Je ne connais pas l'effet ou même un certain indicateur d'amélioration mais d'autres indicateurs se détériorent.
Exigences : Face aux problèmes ci-dessus, nous avons un besoin urgent d'un indicateur quantitatif pour refléter avec précision l'état de santé global de la tâche. La formulation manuelle de règles est inefficace et incomplète. Pensez donc à tirer parti de la puissance des modèles d’apprentissage automatique. L’objectif est que le modèle puisse donner un score quantitatif de la tâche et sa position dans la distribution globale, et donner les principaux problèmes et solutions de la tâche.
Pour répondre à cette demande, notre solution de module fonctionnel consiste à afficher les informations clés de toutes les tâches sous le nom du propriétaire sur l'interface de gestion, telles que les notes, les coûts des tâches, l'utilisation du processeur, l'utilisation de la mémoire, etc. De cette façon, l’état de la tâche est clair en un coup d’œil, ce qui permet au propriétaire de la tâche de gérer plus facilement la tâche ultérieurement.
Deuxièmement, pour la solution modèle de la fonction de notation, nous la traitons comme un problème de classification. Intuitivement, la notation des tâches est évidemment un problème de régression et devrait recevoir n’importe quel nombre réel compris entre 0 et 100. Cependant, cela nécessite un nombre suffisant d’échantillons sécables, et l’étiquetage manuel est coûteux et peu fiable.
Nous envisageons donc de convertir le problème en problème de classification, et la probabilité de classe donnée par le modèle de classification peut être ensuite cartographiée en un score réel. Nous divisons les tâches en deux catégories : la bonne tâche 1 et la mauvaise tâche 0, qui sont étiquetées par les ingénieurs Big Data. Les soi-disant bonnes tâches font généralement référence à des tâches qui prennent peu de temps et consomment moins de ressources pour un même volume et une même complexité de tâche.
Nos échantillons proviennent de données historiques sur les tâches d'exécution. Les caractéristiques des échantillons incluent le temps d'exécution, les ressources utilisées, l'échec de l'exécution, etc. les étiquettes sont classées par les ingénieurs du Big Data en catégories bonnes et mauvaises en fonction de règles ou de l'expérience. Ensuite, le modèle peut être formé. Nous avons essayé successivement LR, GBDT, XGboost et d'autres modèles. La théorie et la pratique ont prouvé que XGboost a de meilleurs résultats de classification. Le modèle finira par générer la probabilité que la tâche soit une « bonne tâche ». Plus la probabilité est grande, plus le score final de la tâche cartographiée est élevé.
Après la formation, 19 fonctionnalités ont été éliminées parmi les près de 50 fonctionnalités originales initiales. Ces 19 fonctionnalités peuvent essentiellement déterminer si une tâche est une bonne tâche. Par exemple, la plupart des tâches qui ont échoué à plusieurs reprises et qui nécessitent une faible utilisation des ressources n'obtiendront pas un score trop élevé, ce qui est fondamentalement cohérent avec les sentiments subjectifs des humains.
Après avoir utilisé le modèle pour noter les tâches, vous pouvez voir que les tâches inférieures à 0 à 30 sont malsaines et nécessitent une gestion urgente ; en relativement bonne santé et doivent maintenir le statu quo. De cette manière, grâce à des indicateurs quantitatifs, le responsable de la tâche peut être guidé pour gérer activement certaines tâches, atteignant ainsi l'objectif de réduction des coûts et d'augmentation de l'efficacité.
L'application du modèle nous a apporté les avantages suivants :
① Premièrement, le propriétaire de la tâche peut être conscient de l'état des tâches sous son nom et savoir si la tâche nécessite une gestion via des scores et les classements ;
② Les indicateurs quantitatifs fournissent une base pour la gestion ultérieure des tâches ;
③ Les avantages et les améliorations obtenus une fois la gestion des tâches terminée peuvent également être affichés quantitativement par le biais de scores.
Le deuxième scénario d'application est l'ajustement intelligent des paramètres pour les tâches Spark. Une enquête Gartner a révélé que 70 % des ressources cloud consommées par les utilisateurs du cloud sont inutilement gaspillées. Lors de la demande de ressources cloud, de nombreuses personnes peuvent demander davantage de ressources afin de garantir la réussite de l'exécution des tâches, ce qui entraînera un gaspillage inutile. De nombreuses personnes utilisent également la configuration par défaut lors de la création de tâches, mais en fait ce n'est pas la configuration optimale. Si vous pouvez le configurer avec soin, vous pouvez obtenir de très bons résultats, ce qui peut non seulement garantir l'efficacité et le succès opérationnels, mais également économiser beaucoup de ressources. Cependant, la configuration des paramètres de tâche impose des exigences élevées aux utilisateurs. En plus de comprendre la signification des éléments de configuration, il est également nécessaire de prendre en compte l'impact des associations entre les éléments de configuration. Même en s'appuyant sur l'expérience d'experts, il est difficile d'atteindre l'optimalité, et les stratégies basées sur des règles sont difficiles à ajuster de manière dynamique.
Cela soulève une exigence. On espère que le modèle pourra recommander intelligemment la configuration optimale des paramètres pour le fonctionnement de la tâche, afin d'améliorer l'utilisation des ressources du cloud de tâches tout en gardant la durée d'exécution d'origine de la tâche inchangée.
Pour le module fonction d'ajustement des paramètres de tâche, la solution que nous avons conçue comprend deux situations : la première concerne les tâches qui s'exécutent en ligne depuis un certain temps, et le modèle doit être capable de recommander en fonction sur le fonctionnement historique de la tâche. Les paramètres de configuration les plus appropriés ; le deuxième cas concerne les tâches que l'utilisateur n'a pas encore mises en ligne. Le modèle doit être capable de donner une configuration raisonnable à travers l'analyse des tâches.
L'étape suivante consiste à entraîner le modèle. Tout d'abord, déterminez l'objectif de sortie du modèle. Il existe plus de 300 éléments configurables, et il est impossible qu'ils soient tous donnés par le modèle. Après tests et recherches, nous avons sélectionné trois paramètres qui ont le plus grand impact sur les performances d'exécution des tâches, à savoir le nombre de cœurs de l'exécuteur, la quantité totale de mémoire et le nombre d'instances. Chaque élément de configuration a sa valeur par défaut et sa plage réglable. En fait, un espace de paramètres est donné, et le modèle n'a plus qu'à trouver la solution optimale dans cet espace.
Il existe deux options pour la phase de formation. La première option consiste à apprendre des règles empiriques : utilisez des règles pour recommander des paramètres à un stade précoce, et les résultats sont bons après la mise en ligne. Par conséquent, laissez le modèle apprendre d'abord cet ensemble de règles, afin d'atteindre l'objectif d'une mise en ligne rapide. . Les échantillons de formation du modèle sont constitués de plus de 70 000 configurations de tâches préalablement calculées sur la base de règles. Les caractéristiques des exemples sont les données d'exécution historiques de la tâche (telles que la quantité de données traitées par la tâche, l'utilisation des ressources, le temps nécessaire à la tâche). , etc.), et certaines informations statistiques (telles que la consommation moyenne, la consommation maximale, etc. au cours des sept derniers jours).
Modèle de base Nous avons choisi un modèle de régression multiple avec plusieurs variables dépendantes. Les modèles de régression courants sont à sortie unique, avec de nombreuses variables indépendantes mais une seule variable dépendante. Ici, nous espérons générer trois paramètres, nous utilisons donc un modèle de régression multiple avec plusieurs variables dépendantes, qui est essentiellement un modèle LR.
L'image ci-dessus montre la base théorique de ce modèle. Sur la gauche se trouve un multi-étiquette, qui comprend trois éléments de configuration, β est le coefficient de chaque caractéristique et Σ est l'erreur. La méthode d'entraînement est la même que celle de la régression unaire, utilisant la méthode des moindres carrés pour estimer la somme des carrés de chaque élément de Σ au minimum.
L'avantage de la première option est que vous pouvez rapidement apprendre les règles et l'expérience, et que le coût est relativement faible. L'inconvénient est que sa limite supérieure d'optimisation peut produire un effet tout au plus aussi bon que les règles, mais il sera plus difficile de la dépasser.
La deuxième option est l'optimisation bayésienne. Son idée est similaire à l'apprentissage par renforcement. Elle essaie de trouver la configuration optimale en essayant dans l'espace des paramètres. Le cadre bayésien est utilisé ici car il peut utiliser la base de la tentative précédente et avoir une certaine expérience préalable lors de la tentative suivante pour trouver rapidement une meilleure position. L'ensemble du processus de formation sera effectué dans un espace de paramètres, en échantillonnant aléatoirement une configuration pour vérification, puis en l'exécutant après l'exécution, il prêtera attention à certains indicateurs, tels que l'utilisation, le coût, etc., pour déterminer si c'est le cas ; optimal ; puis répétez les étapes ci-dessus jusqu'à ce que le réglage soit terminé. Une fois le modèle entraîné, il y a également un processus d'astuce ou de traitement pendant l'utilisation. Si la nouvelle tâche présente un certain degré de similitude avec la tâche historique, il n'est pas nécessaire de recalculer la configuration et la configuration optimale précédente peut être utilisée. être directement utilisé.
Après avoir essayé et mis en pratique ces deux solutions, nous pouvons constater que certains résultats ont été obtenus. Pour les tâches existantes, après modification selon les paramètres de configuration recommandés par le modèle, plus de 80 % des tâches peuvent obtenir une amélioration d'environ 15 % de l'utilisation des ressources, et l'utilisation des ressources de certaines tâches est même doublée. Cependant, les deux solutions présentent en réalité des inconvénients : le modèle de régression des règles d'apprentissage a une limite supérieure d'optimisation basse ; l'inconvénient du modèle d'optimisation bayésien d'optimisation globale est qu'il nécessite plusieurs tentatives et que son coût est trop élevé.
Les futures orientations d'exploration sont les suivantes :
Analyse sémantique : La sémantique de Spark est relativement riche, comprenant différentes structures de code et fonctions d'opérateur. Elle est étroitement liée. à la configuration des paramètres de tâche et à la consommation des ressources. Mais actuellement, nous utilisons uniquement l'état d'exécution historique de la tâche et ignorons la sémantique Spark elle-même. C'est un gaspillage d'informations. La prochaine chose à faire est de pénétrer dans le niveau du code, d'analyser les fonctions de l'opérateur incluses dans la tâche Spark et d'effectuer des réglages plus précis en conséquence.
Réglage de la classification : Spark propose de nombreux scénarios d'application, tels que l'analyse pure, le développement, le traitement, etc. L'espace de réglage et les objectifs des différents scénarios sont également différents, il est donc nécessaire de faire une optimisation de la classification . Optimisation du projet : L'une des difficultés rencontrées dans la pratique est le petit nombre d'échantillons et les coûts de test élevés, qui nécessitent la coopération des parties concernées pour optimiser le projet ou le processus. Le troisième scénario d'application est la sélection intelligente du moteur d'exécution de tâches de requête SQL. Contexte : (1) La plate-forme de requêtes SQL est le produit Big Data avec lequel la plupart des utilisateurs ont le plus de contacts et ont l'expérience la plus évidente, qu'ils soient analystes de données, R&D , ou les responsables de produits écrivent beaucoup de SQL chaque jour pour obtenir les données qu'ils souhaitent ; (2) De nombreuses personnes ne font pas attention au moteur d'exécution sous-jacent lors de l'exécution de tâches SQL. Par exemple, Presto est basé sur Presto. sur la mémoire pure Dans certains scénarios de requêtes simples, l'avantage du calcul est que la vitesse d'exécution sera plus rapide, mais l'inconvénient est que si la capacité de stockage n'est pas suffisante, il raccrochera directement. Par contre, Spark est plus adapté à l'exécution ; tâches complexes avec de grandes quantités de données. Dans ce scénario, même si un MOO se produit, le stockage sur disque sera utilisé pour éviter l'échec de la tâche. Par conséquent, différents moteurs conviennent à différents scénarios de tâches. (3) L'effet de requête SQL doit prendre en compte de manière globale le temps d'exécution de la tâche et la consommation de ressources. Vous ne pouvez ni poursuivre excessivement la vitesse de requête sans tenir compte de la consommation de ressources, ni affecter l'efficacité de la requête afin de. économiser des ressources. (4) Il existe trois principales méthodes traditionnelles de sélection de moteurs dans l'industrie, RBO, CBO et HBO. RBO est un optimiseur basé sur des règles. La formulation des règles est difficile et la fréquence de mise à jour est faible ; CBO est une optimisation basée sur les coûts. Une recherche excessive de l'optimisation des coûts peut entraîner un échec de l'exécution des tâches. HBO est un optimiseur basé sur les conditions d'exécution historiques des tâches. . Relativement limité aux données historiques. est conçu sur le module fonctionnel. Une fois que l'utilisateur a écrit l'instruction SQL et l'a soumise pour exécution, le modèle détermine automatiquement le moteur à utiliser et affiche une invite de fenêtre. L'utilisateur décide finalement d'utiliser le. moteur recommandé pour l’exécution. La solution globale du modèle est de recommander des moteurs d'exécution basés sur l'instruction SQL elle-même. Étant donné que vous pouvez voir quelles tables et fonctions sont utilisées à partir de SQL lui-même, ces informations déterminent directement la complexité de SQL, affectant ainsi le choix du moteur d'exécution. Les échantillons de formation de modèle proviennent d'instructions SQL exécutées historiquement, et les étiquettes de modèle sont marquées en fonction des conditions d'exécution historiques. Par exemple, les tâches qui prennent beaucoup de temps à s'exécuter et impliquent une grande quantité de données seront marquées comme étant adaptées à une exécution sur Spark, et les autres peuvent être exécutés sur Presto Running SQL. L'extraction d'échantillons de caractéristiques utilise la technologie NLP, la méthode N-gram plus TF-IDF. Le principe général est d'extraire des phrases pour voir à quelle fréquence elles apparaissent dans les phrases, afin que les phrases clés puissent être extraites. Les caractéristiques vectorielles générées après cette opération sont très volumineuses. Nous utilisons d'abord un modèle linéaire pour filtrer 3 000 caractéristiques, puis formons et générons le modèle XGBoost comme modèle de prédiction final. 4. Sélection intelligente du moteur d'exécution de tâches SQL
Après la formation, vous pouvez voir que la précision de la prédiction du modèle est encore relativement élevée, environ 90 % ou plus.
Le processus final de candidature en ligne du modèle est le suivant : une fois que l'utilisateur a soumis SQL, le modèle recommande un moteur d'exécution s'il est différent du moteur initialement sélectionné par l'utilisateur, le module de conversion de langue sera appelé pour terminer la conversion. de l'instruction SQL. Si l'exécution échoue après le changement de moteur, nous disposerons d'un mécanisme de basculement pour revenir au moteur d'origine de l'utilisateur pour l'exécution afin de garantir la réussite de l'exécution de la tâche.
L'avantage de cette pratique est que le modèle peut sélectionner automatiquement le moteur d'exécution le plus approprié et effectuer les conversions d'instructions ultérieures sans nécessiter un apprentissage supplémentaire de l'utilisateur.
De plus, le moteur de recommandation de modèles peut essentiellement maintenir l'efficacité d'exécution d'origine tout en réduisant le taux d'échec, de sorte que l'expérience utilisateur globale s'améliorera.
Enfin, la consommation globale du coût des ressources est réduite en raison de la réduction de l'utilisation de moteurs inutiles et coûteux et de la réduction du taux d'échec d'exécution des tâches.
Dans les parties 2 à 4, nous avons partagé trois applications d'algorithmes d'IA sur des plateformes Big Data. L'une de ses caractéristiques visibles est que l'algorithme utilisé n'est pas particulièrement complexe, mais l'effet sera très évident. Cela nous incite à prendre l'initiative de comprendre les points faibles ou l'espace d'optimisation lors du fonctionnement de la plateforme Big Data. Après avoir déterminé les scénarios d'application, nous pouvons essayer d'utiliser différentes méthodes d'apprentissage automatique pour résoudre ces problèmes, réalisant ainsi la transformation de. Algorithmes d’IA dans le Big Data.
Enfin, nous attendons avec impatience les scénarios d'application des algorithmes d'IA dans la gouvernance du Big Data.
Les trois scénarios d'application présentés ci-dessus sont plus concentrés dans la phase de traitement des données. En fait, faisant écho à la relation entre l’IA et le Big Data évoquée au chapitre 1, l’IA peut jouer un rôle relativement important tout au long du cycle de vie des données.
Par exemple, lors de la phase de collecte des données, vous pouvez juger si le journal est raisonnable ; vous pouvez effectuer une détection d'intrusion pendant la transmission, vous pouvez réduire davantage les coûts et augmenter l'efficacité pendant le traitement ; sécurité des données lors de l'échange ; Lors de la destruction, vous pouvez juger du moment et de l'impact de la destruction, etc. Il existe de nombreux scénarios d’application de l’IA sur les plateformes Big Data, et ceci n’est qu’une introduction. On pense que la relation mutuelle entre l’IA et le big data deviendra plus importante à l’avenir. Les plateformes de big data assistées par l’IA pourront mieux collecter et traiter les données, et une meilleure qualité des données pourra par la suite aider à former de meilleurs modèles d’IA, réalisant ainsi un résultat vertueux. faire du vélo.
A1 : Les règles de réglage des paramètres ici ont été formulées dès le début par nos collègues du Big Data sur la base de l'expérience de réglage manuel, comme le nombre de minutes que dépasse le temps d'exécution de la tâche ou la quantité de données traitées dépasse, et combien de cœurs sont recommandés pour la tâche ou la quantité de mémoire, etc. Il s'agit d'un ensemble de règles qui ont été accumulées sur une longue période de temps, et les résultats sont relativement bons après la mise en ligne, nous utilisons donc cet ensemble de règles pour entraîner notre modèle de recommandation de paramètres.
A2 : Lorsque nous faisons des recommandations de paramètres, nous ne recherchons pas seulement le faible coût, sinon les ressources recommandées seront faibles et la tâche échouera. La variable dépendante n'a que des ajustements de paramètres, mais nous ajoutons des restrictions supplémentaires pour éviter l'instabilité. La première concerne les caractéristiques du modèle. Nous sélectionnons la valeur moyenne sur une certaine période de temps plutôt que la valeur sur une journée isolée. Deuxièmement, pour les paramètres recommandés par le modèle, nous comparerons la différence avec la valeur de configuration réelle. La différence est trop grande, nous utiliserons une stratégie de ralentissement et de ralentissement pour éviter l'échec de la mission causé par un ajustement ponctuel excessif.
A3 : Non. Comme mentionné tout à l'heure, nous avons utilisé deux solutions pour la recommandation de paramètres : le modèle de régression est utilisé pour l'apprentissage des règles et le cadre d'optimisation bayésien est utilisé ultérieurement ; Ils ne sont pas utilisés en même temps. Nous avons fait deux tentatives. L’avantage de la première règle d’apprentissage est qu’elle peut utiliser rapidement l’expérience historique ; le second modèle peut trouver une configuration meilleure, voire optimale, basée sur la précédente. Les deux appartiennent à une relation séquentielle ou progressive, plutôt que d’être utilisés en même temps.
A4 : Oui. Comme mentionné tout à l'heure, lors de l'ajustement des paramètres Spark, la seule information que nous utilisons est son état d'exécution historique, mais nous n'avons pas encore prêté attention à la tâche Spark elle-même. Spark lui-même contient en fait de nombreuses informations, notamment divers opérateurs, étapes, etc. Si vous n’analysez pas sa sémantique, de nombreuses informations seront perdues. Notre prochain plan consiste donc à analyser la sémantique des tâches Spark et à étendre davantage de fonctionnalités pour faciliter le calcul des paramètres.
A5 : S'il s'appuie entièrement sur le modèle, il peut rechercher une utilisation des ressources la plus élevée possible. Dans ce cas, les paramètres recommandés peuvent être plus radicaux, comme réduire la mémoire de 30 g à 5 g. Par conséquent, en plus de la recommandation du modèle, nous ajouterons des contraintes supplémentaires, telles que le nombre de g que la plage de réglage des paramètres ne peut pas dépasser, etc., c'est-à-dire une stratégie de ralentissement et de ralentissement.
A6 : L'ajustement intelligent des paramètres des tâches est toujours une direction de recherche populaire, et les équipes de différents domaines ont adopté différents modèles de méthodes. Avant de commencer, nous avons étudié de nombreuses méthodes industrielles, y compris l’article sigmoïde 2022 que vous avez mentionné. Après comparaison et pratique, nous avons finalement essayé les deux solutions que nous avons partagées. À l'avenir, nous continuerons de prêter attention aux derniers développements dans ce sens et d'essayer davantage de méthodes pour améliorer l'effet de recommandation.
C'est tout pour le partage d'aujourd'hui, merci à tous.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!