Ведутся технические работы. Это может временно повлиять на скорость работы сайта. Приносим извинения за неудобства и благодарим за ваше понимание!

ИИ ускорил необходимые для работы термоядерного реактора вычисления в 100 раз

Чем сложнее научная или инженерная задача, тем большую роль в ее решении играет компьютерное моделирование. Это правило почти всегда подтверждается практикой, и современная физика — не исключение. Работающий термоядерный реактор, выдающий хотя бы столько же энергии, сколько было затрачено на его запуск и функционирование, — Святой Грааль для современных ученых. И подступиться к нему мешает невероятно высокая вычислительная сложность моделей, описывающих поведение плазмы в такой установке.

А учитывая стоимость любых стеллаторов и токамаков, при проведении на них экспериментов крайне желательно избежать ошибок. И время дорого, и повреждений установок лучше не допускать. Поэтому ценность моделей тоже повышается: ученым проще и безопаснее сначала проверять свои гипотезы в симуляциях. Получается, одним из ограничивающих факторов при продвижении прогресса в области управляемой термоядерной реакции служит эффективность моделей. И пока она далека от идеала: для полномасштабных расчетов используют суперкомпьютеры, а приближенные результаты получают в результате сотен часов работы обычных ПК.

Ситуацию попробовал исправить докторант Технического университета Эйндховена (Нидерланды) Аарон Хо (Aaron Ho). Он работает в группе по изучению термоядерных реакций департамента прикладной физики. Как пишет портал SciTechDaily, Хо недавно защитил докторскую диссертацию, посвященную применению искусственного интеллекта для моделирования поведения плазмы в токамаках. Созданный им алгоритм уже включен в мощный набор программных инструментов физиков-ядерщиков под названием JINTRAC.

Идея молодого ученого заключается в замене кода, описывающего модель турбулентности пониженного порядка, на нейросеть. Он обучил ИИ на нескольких наборах данных — входных, с реальных научных установок, и результатах, полученных от существующего инструмента QuaLiKiz, предсказывающего движение плазмы в токомаках за счет микротурбулентностей. Поскольку это главный механизм переноса в подобных устройствах, важны точность и скорость работы модели. После обучения нейросеть интегрировали в QuaLiKiz и проверили на новых данных, сравнив со старым алгоритмом.

Вышло более чем впечатляюще. Обычный QuaLiKiz выполнил задачу на 16 вычислительных ядрах за 217 часов, а оснащенный ИИ — на одном ядре и за два часа. То есть даже без учета разницы в количестве необходимых для работы модели процессоров ускорение получилось более чем в сто раз. А если оценивать общую ресурсоемкость, разница выходит на порядок больше.

Но у метода, естественно, есть ограничения, ведь ничего не бывает бесплатно. Точность новой модели во время проверки была ниже: результаты между «нейросетевым» и обычным QuaLiKiz различались примерно на 10%. В этом моменте есть место для улучшений, но 100% точности с искусственным интеллектом достичь принципиально невозможно. С другой стороны, сам по себе QuaLiKiz применяется для упрощенного моделирования, так как использует приближенные вычисления. Поэтому в описываемом случае скорость важнее, а для более точных вычислений есть другие инструменты.


( ! ) Warning: Invalid argument supplied for foreach() in /home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php on line 44
Call Stack
#TimeMemoryFunctionLocation
10.0000350408{main}( ).../index.php:0
20.0000350688require( '/home/domains/malitikov.ru/public_html/wp-blog-header.php ).../index.php:17
30.18418488576require_once( '/home/domains/malitikov.ru/public_html/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.18748512912include( '/home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php ).../template-loader.php:106

Мы рекомендуем


( ! ) Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /home/domains/malitikov.ru/public_html/wp-includes/class-wpdb.php on line 2322
Call Stack
#TimeMemoryFunctionLocation
10.0000350408{main}( ).../index.php:0
20.0000350688require( '/home/domains/malitikov.ru/public_html/wp-blog-header.php ).../index.php:17
30.18418488576require_once( '/home/domains/malitikov.ru/public_html/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.18748512912include( '/home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php ).../template-loader.php:106
50.430522798408WP_Query->__construct( $query = ['post_type' => 'post', 'post_status' => 'publish', 'fields' => 'ids', 'posts_per_page' => -1, 'no_found_rows' => TRUE, 'orderby' => 'none'] ).../single.php:65
60.430522798408WP_Query->query( $query = ['post_type' => 'post', 'post_status' => 'publish', 'fields' => 'ids', 'posts_per_page' => -1, 'no_found_rows' => TRUE, 'orderby' => 'none'] ).../class-wp-query.php:4081
70.430522798408WP_Query->get_posts( ).../class-wp-query.php:3949
80.431022810272wpdb->get_col( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ', $x = ??? ).../class-wp-query.php:3300
90.431022810272wpdb->query( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ' ).../class-wpdb.php:3107
104.5714700751200mysqli_fetch_object( $result = class mysqli_result { public $current_field = 0; public $field_count = 1; public $lengths = [0 => 7]; public $num_rows = 1517174; public $type = 0 } ).../class-wpdb.php:2322