KFBIO accélère la détection de la tuberculose grâce à l'IA

KFBIO a optimisé son code pour tirer profit des améliorations apportées au processeur Intel® Xeon® Scalable.

Vue d'ensemble :

  • Konfoong Biotech International Co., Ltd. (KFBIO) est une entreprise bio-informatique, spécialisée dans le développement et la production de systèmes de pathologie numérique. Son système intégré de diagnostic de pathologie numérique intègre les soins de santé, l'éducation, la recherche scientifique et les services d'information.

  • Alors que KFBIO disposait d'une solution d'apprentissage en profondeur (Deep Learning) efficace pour scanner les échantillons de tuberculose M. à l'aide de processeurs graphiques, ses ingénieurs avaient besoin de performances plus élevées pour effectuer un balayage et un diagnostic plus rapidement. En collaboration avec les ingénieurs d'Intel AI, KFBIO a optimisé son code à base de PyTorch et le modèle detectron2, pour tirer parti des améliorations apportées à l'architecture du processeur Intel® Xeon® Scalable, notamment la technologie Intel Deep Learning Boost.

author-image

Par

Selon l'Organisation mondiale de la Santé (OMS), la tuberculose (TB) est l'une des dix premières causes de décès et la première cause due à un seul agent infectieux (devant le VIH/sida). L'un des objectifs de développement durable de l'OMS est de mettre fin à l'épidémie de tuberculose d'ici 2030. Quelques 58 millions de vies ont été sauvées grâce au diagnostic et au traitement de la tuberculose entre 2000 et 20181. Une détection rapide et précise reste donc essentielle pour continuer à réduire le nombre de cas chaque année.

La microscopie de frottis d'expectoration (MFE) a été la principale méthode de diagnostic de la tuberculose en raison de sa simplicité et des faibles coûts qui y sont associés. Cependant, la lecture manuelle des lamelles colorées prend du temps et expose les médecins à un risque d'infection. Le KFBIO utilise ses systèmes de balayage de pathologie pour numériser les lamelles MFE sous forme d'images haute résolution et appliquer ensuite des algorithmes d'apprentissage en profondeur (DL) pour soutenir le diagnostic d'une infection M. tb.

Le dépistage basé sur la DL aide au diagnostic du bacille de Koch (M. Tuberculosis)

Ningbo Konfoong Bioinformation Co., Ltd (KFBIO) développe des solutions liées à la pathologie. Celles-ci comprennent des équipements de traitement des échantillons, de systèmes d'analyse de pathologie numérique, de systèmes d'information sur la pathologie et d'algorithmes et de modèles de DL pour la détection et la classification des changements et anomalies précancéreuses. La capacité de KFBIO à scanner des coupes pathologiques traditionnelles en images numériques permet aux scientifiques d'appliquer les techniques de DL pour faciliter le diagnostic médical. KFBIO a développé une série de solutions pathologiques basées sur la technologie de DL et alimentées par l'IA, notamment pour le cancer du col de l'utérus et la détection du bacille de Koch.

L'imagerie numérique permet de stocker, de partager et d'analyser des données médicales en collaboration sur un réseau. La pathologie numérique par IA permet de remédier à la pénurie de ressources médicales et offre une meilleure accessibilité au diagnostic pour les personnes vivant dans les zones rurales et éloignées.

Grâce à la collaboration entre KFBIO et Intel, les performances démontrées dans cette étude soulignent le potentiel du dépistage et du diagnostic basé sur l'IA de la tuberculose.

Intel AI multiplie de 8,40 fois la vitesse du dépistage automatisé

2.
Alors que KFBIO disposait d'une solution DL efficace pour scanner les échantillons de tuberculose à l'aide de processeurs graphiques, ses ingénieurs avaient besoin de performances plus élevées afin d'effectuer un balayage et un diagnostic plus rapidement. KFBIO a collaboré avec les ingénieurs d'Intel AI pour optimiser son code à base de PyTorch et le modèle detectron2, pour tirer parti des améliorations apportées à l'architecture du processeur Intel® Xeon® Scalable, notamment la technologie Intel Deep Learning Boost (Intel DL Boost) et la grande capacité de mémoire du processeur.

Les processeurs Intel Xeon Scalable de 2ᵉ génération (anciennement Cascade Lake) comprennent la nouvelle technologie Intel DL Boost pour accélérer les performances d'inférence. Des calculs rapides ont été ajoutés à la bibliothèque Intel MKL-DNN (Intel Math Kernel Library for Deep Neural Networks) afin de tirer parti des avancées matérielles du processeur. Les optimisations Intel MKL-DNN sont abstraites et intégrées directement dans le framework PyTorch,3 afin que les utilisateurs finaux puissent profiter de cette technologie sans modifications spéciales du code. La dernière version officielle de PyTorch intègre Intel MKL-DNN par défaut. Ainsi, les utilisateurs peuvent obtenir des avantages en termes de performances sur les plateformes à base de processeur Intel Xeon Scalable de 2ᵉ génération sans étapes d'installation supplémentaires.

De plus, les processeurs Intel Xeon Scalable de 2ᵉ génération prennent en charge plusieurs téraoctets de mémoire, ce qui permet un accès rapide à de grands ensembles de données. Les images de pathologie numérique ont tendance à être de grande taille, ce qui peut solliciter la capacité de la mémoire du processeur graphique. Avec une plus grande capacité de mémoire, la solution de balayage pourrait exécuter plusieurs instances d'inférence simultanées sur la même configuration.

Les optimisations de KFBIO pour l'algorithme de balayage de la M. tuberculosis étaient simples en utilisant simplement PyTorch 1.6 optimisé pour l'architecture Intel au lieu de la version précédente de PyTorch 1.4. Des optimisations supplémentaires ont été réalisées en profilant le modèle detectron2 et en optimisant les opérations minimales.

Les tests de performance de bancs d'essai des processeurs Intel® Xeon® Gold 6252 ont révélé une meilleure performance d'inférence par rapport à un modèle de base sans optimisations en cours d'exécution sur le même processeur.

Deux bancs d'essai optimisés ont permis d'augmenter les performances de 2,17 fois pour une seule instance et de 11,4 fois pour 24 instances (voir le tableau ci-dessus)4. La solution a bénéficié d'une grande capacité de mémoire lors de l'exécution des 24 instances.

Déploiement d'un client

Récemment, KFBIO a déployé avec succès sa solution de dépistage de la tuberculose basée sur le DL au Centre clinique de santé publique de Shanghai, en Chine, dans une station de travail intégrée fonctionnant sur des processeurs Intel Xeon Scalable de 2ᵉ génération. Le centre l'utilisera pour accélérer le traitement des dossiers de diagnostic de la tuberculose. Le déploiement intègre le scanner de pathologie numérique KFBIO et le logiciel d'IA pour fournir une capacité de bout en bout : numérisation des lamelles de spécimens, réalisation d'inférences d'IA pour la détection, visualisation des résultats et production de rapports de diagnostic. Selon l'évaluation des clients, le système offre une précision moyenne de 86,8 % pour la détection et de 88,9 % pour la classification5. L'ensemble du flux de travail peut être réalisé en moins de 80 secondes pour un diagnostic unique, de l'entrée de l'échantillon à la sortie du rapport.6. Le client est satisfait des performances et espère encore raccourcir le processus pour le réaliser en 60 secondes.

Conclusion

Accélérer le dépistage mécanique des échantillons à l'aide de technologies d'IA permet d'augmenter le nombre d'échantillons examinés, et potentiellement d'alerter plus vite les médecins sur les problèmes des patients qu'avec seules les méthodes manuelles. L'utilisation de PyTorch 1.6 avec la bibliothèque intégrée Intel MKL-DNN a permis au modèle detectron2 de KFBIO de tirer profit de Intel DL Boost sur les processeurs Intel Xeon Scalable de 2ᵉ génération. La grande capacité de mémoire de l'architecture de processeur a également permis à plusieurs instances d'inférence de s'exécuter simultanément directement à partir de la mémoire. Avec PyTorch optimisé pour Intel DL Boost et la grande capacité de mémoire, le modèle detectron2 a été jusqu'à 11,4 fois plus rapide que le modèle de base7.

Infos sur le produit et ses performances

2performances de débit de detectron2, le modèle KFBIO de dépistage du bacille de Koch, sur le 2ᵉ processeur Intel® Xeon® Gold 6252 : NOUVEAU : Test 1 (instance unique avec PyTorch 1.6 : testé par Intel en date du 22/05/2020). Processeur Intel® Xeon® Gold 6252 de 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale de 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-generic, atténué. Test 2 (24 instances avec PyTorch 1.6 : testé par Intel en date du 22/5/2020. Processeur Intel Xeon Gold 6252 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-générique, atténué. RÉFÉRENCE : (instance unique avec PyTorch 1.4) : Testé par Intel en date du 22/05/2020. Processeur Intel Xeon Gold 6252 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-générique, atténué
3Voir l'article « Intel et Facebook collaborent pour améliorer les performances du processeur de PyTorch » pour plus de détails sur les récentes accélérations de performances.
4Modèle detectron2 de détection de la tuberculose de KFBIO pour la performance de débit sur le 2ᵉ processeur Intel® Xeon® Gold 6252, NOUVEAU : Test 1 (instance unique avec PyTorch 1.6 : testé par Intel en date du 22/5/2020. Processeur Intel® Xeon® Gold 6252 de 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale de 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-generic, atténué. Test 2 (24 instances avec PyTorch 1.6 : testé par Intel en date du 22/5/2020. Processeur Intel Xeon Gold 6252 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-générique, atténué. RÉFÉRENCE : (instance unique avec PyTorch 1.4) : Testé par Intel en date du 22/05/2020. Processeur Intel Xeon Gold 6252 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-générique, atténué
5Tests effectués par le Centre clinique de santé publique de Shanghai et KFBIO. Intel ne maîtrise et ne vérifie pas les données tierces. Vous devriez consulter d'autres sources pour évaluer leur précision.
6Tests effectués par Shanghai Public Health Clinical Center et KFBIO. Intel ne maîtrise et ne vérifie pas les données tierces. Vous devriez consulter d'autres sources pour évaluer leur précision.
7Modèle detectron2 de détection de la tuberculose de KFBIO pour la performance de débit sur le 2ᵉ processeur Intel® Xeon® Gold 6252, NOUVEAU : Test 1 (instance unique avec PyTorch 1.6 : testé par Intel en date du 22/05/2020. Processeur Intel® Xeon® Gold 6252 de 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale de 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-generic, atténué. Test 2 (24 instances avec PyTorch 1.6 : testé par Intel en date du 22/5/2020. Processeur Intel Xeon Gold 6252 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-générique, atténué. RÉFÉRENCE : (instance unique avec PyTorch 1.4) : Testé par Intel en date du 22/05/2020. Processeur Intel Xeon Gold 6252 2ᵉ génération à 2 sockets, 24 cœurs, HT activé, Turbo activé, mémoire totale 192 Go (12 emplacements/16 Go/2 666 MHz), BIOS : SSE5C620.86B.02.01.0008.031920191559 (ucode : 0x500002c), Ubuntu 18.04.4 LTS, noyau 5.3.0-51-générique, atténué