GMAC는 "Giga Multiply-Add Operations per Second"의 약자로 딥 러닝 모델의 계산 효율성을 측정하는 데 사용되는 지표입니다. 이 지표는 초당 10억 개의 곱셈 및 덧셈 작업 측면에서 모델의 계산 속도를 나타냅니다.
MAC(곱셈-누산) 연산은 행렬 곱셈, 컨볼루션 및 딥 러닝에서 일반적으로 사용되는 기타 텐서 연산을 포함한 많은 수학적 계산의 기본 연산입니다. 각 MAC 연산에는 두 숫자를 곱하고 그 결과를 누산기에 추가하는 작업이 포함됩니다.
GMAC 측정항목은 다음 공식을 사용하여 계산할 수 있습니다.
<code>GMAC =(乘法累加运算次数)/(10⁹)</code>
곱셈-덧셈 작업의 수는 일반적으로 네트워크 아키텍처와 가중치 및 편향과 같은 모델 매개변수의 차원을 분석하여 결정됩니다.
GMAC 측정항목을 사용하면 연구원과 실무자는 효율적이고 효과적인 딥 러닝 계산을 위한 모델 선택, 하드웨어 요구 사항 및 최적화 전략에 대해 정보에 입각한 결정을 내릴 수 있습니다.
GFLOPS는 컴퓨터 시스템 또는 특정 작업의 컴퓨팅 성능을 측정한 것으로, 초당 10억 개의 부동 소수점 연산을 나타냅니다. 초당 부동 소수점 연산 수로, 수십억(기가) 단위로 표시됩니다.
부동 소수점 산술은 IEEE 754 부동 소수점 형식으로 표현된 실수에 대해 산술 계산을 수행하는 것을 의미합니다. 이러한 연산에는 일반적으로 덧셈, 뺄셈, 곱셈, 나눗셈 및 기타 수학 연산이 포함됩니다.
GFLOPS는 고성능 컴퓨팅(HPC) 및 벤치마킹에 일반적으로 사용되며, 특히 과학 시뮬레이션, 데이터 분석, 딥 러닝 등 무거운 컴퓨팅 작업이 필요한 영역에서 사용됩니다.
GFLOPS 공식을 다음과 같이 계산하세요.
<code>GFLOPS =(浮点运算次数)/(以秒为单位的运行时间)/ (10⁹)</code>
GFLOPS는 다양한 컴퓨터 시스템, 프로세서 또는 특정 작업의 컴퓨팅 성능을 효과적으로 측정하는 것입니다. 부동 소수점 계산을 수행하는 하드웨어 또는 알고리즘의 속도와 효율성을 평가하는 데 도움이 됩니다. GFLOPS는 이론적 최고 성능의 척도이며 메모리 액세스, 병렬화 및 기타 시스템 제한과 같은 요소를 고려하지 않기 때문에 실제 시나리오에서 달성된 실제 성능을 반영하지 않을 수 있습니다.
GMAC와 GFLOPS의 관계
<code>1 GFLOP = 2 GMAC</code>
이 두 지표를 계산하려면 코드를 수동으로 작성하는 것이 더 번거롭지만 Python에는 이미 사용할 수 있는 기성 라이브러리가 있습니다.
ptflops 라이브러리는 다음을 수행할 수 있습니다. GMAC 및 GFLOP 계산
<code>pip install ptflops</code>
사용 방법도 매우 간단합니다.
<code>import torchvision.models as models import torch from ptflops import get_model_complexity_info import re #Model thats already available net = models.densenet161() macs, params = get_model_complexity_info(net, (3, 224, 224), as_strings=True, print_per_layer_stat=True, verbose=True) # Extract the numerical value flops = eval(re.findall(r'([\d.]+)', macs)[0])*2 # Extract the unit flops_unit = re.findall(r'([A-Za-z]+)', macs)[0][0] print('Computational complexity: {:</code>
결과는 다음과 같습니다.
<code>Computational complexity: 7.82 GMac Computational complexity: 15.64 GFlops Number of parameters: 28.68 M</code>
모델을 사용자 정의하여 결과가 올바른지 확인할 수 있습니다.
<code>import os import torch from torch import nn class NeuralNetwork(nn.Module): def __init__(self): super().__init__() self.flatten = nn.Flatten() self.linear_relu_stack = nn.Sequential( nn.Linear(28*28, 512), nn.ReLU(), nn.Linear(512, 512), nn.ReLU(), nn.Linear(512, 10),) def forward(self, x): x = self.flatten(x) logits = self.linear_relu_stack(x) return logits custom_net = NeuralNetwork() macs, params = get_model_complexity_info(custom_net, (28, 28), as_strings=True, print_per_layer_stat=True, verbose=True) # Extract the numerical value flops = eval(re.findall(r'([\d.]+)', macs)[0])*2 # Extract the unit flops_unit = re.findall(r'([A-Za-z]+)', macs)[0][0] print('Computational complexity: {:</code>
결과는 다음과 같습니다.
<code>Computational complexity: 670.73 KMac Computational complexity: 1341.46 KFlops Number of parameters: 669.71 k</code>
시연의 편의를 위해 완전 연결 레이어 코드만 작성하여 GMAC를 수동으로 계산합니다. 모델 가중치 매개변수를 반복하고 곱셈과 덧셈 연산 횟수의 형태를 계산하는 것은 GMAC 계산의 핵심인 가중치 매개변수에 따라 달라집니다. GMAC에 필요한 완전 연결 레이어 가중치 계산 공식은 2 x (입력 차원 x 출력 차원)입니다. 전체 GMAC 값은 모델의 구조에 따른 과정인 각 선형 레이어의 가중치 매개변수의 모양을 곱하고 누적하여 얻습니다.
<code>import torch import torch.nn as nn def compute_gmac(model): gmac_count = 0 for param in model.parameters(): shape = param.shape if len(shape) == 2:# 全连接层的权重 gmac_count += shape[0] * shape[1] * 2 gmac_count = gmac_count / 1e9# 转换为十亿为单位 return gmac_count</code>
위의 모델에 따라 GMAC를 계산한 결과는 다음과 같습니다.
<code>0.66972288</code>
GMAC의 결과는 수십억 단위이므로 위의 클래스 라이브러리를 사용하여 계산한 결과와 크게 다르지 않습니다. 마지막으로 컨볼루션의 GMAC를 계산하는 공식은 ((입력 채널 x 컨볼루션 커널 높이 x 컨볼루션 커널 너비) x 출력 채널) x 2입니다. 다음은 완전히 정확하지 않을 수 있는 간단한 코드입니다. 으아악
위 내용은 GMAC 및 GFLOPS 계산에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

내 칼럼을 처음 접할 수있는 분들을 위해, 나는 구체화 된 AI, AI 추론, AI의 첨단 획기적인 혁신, AI 교육, AI의 수비, ai re

유럽의 야심 찬 AI 대륙 행동 계획은 EU를 인공 지능의 글로벌 리더로 설립하는 것을 목표로합니다. 핵심 요소는 AI Gigafactories 네트워크를 만드는 것입니다. 각각 약 100,000 개의 고급 AI 칩을 보유하고 있습니다 - Capaci의 4 배

AI 에이전트 애플리케이션에 대한 Microsoft의 통합 접근 방식 : 비즈니스를위한 명확한 승리 새로운 AI 에이전트 기능에 관한 Microsoft의 최근 발표는 명확하고 통합 된 프레젠테이션에 깊은 인상을 받았습니다. 많은 기술 발표와는 달리 TE에서 멍청한 것입니다

Shopify CEO Tobi Lütke의 최근 메모는 AI 숙련도가 모든 직원에 대한 근본적인 기대를 대담하게 선언하여 회사 내에서 중요한 문화적 변화를 표시합니다. 이것은 도망가는 트렌드가 아닙니다. 그것은 p에 통합 된 새로운 운영 패러다임입니다

IBM의 Z17 메인 프레임 : 향상된 비즈니스 운영을 위해 AI를 통합합니다 지난 달, IBM의 뉴욕 본사에서 Z17의 기능을 미리 보았습니다. Z16의 성공을 기반으로 (2022 년에 시작되어 지속적인 수익을 보여주는 시연

흔들리지 않는 자신감을 해제하고 외부 검증의 필요성을 제거하십시오! 이 다섯 개의 chatgpt 프롬프트는 완전한 자립과 자기 인식의 변형적인 변화로 당신을 안내 할 것입니다. 간단히 괄호를 복사, 붙여 넣기 및 사용자 정의하십시오

인공 지능 보안 및 연구 회사 인 Anthropic의 최근 [연구]는 이러한 복잡한 과정에 대한 진실을 밝히기 시작하여 우리 자신의인지 영역과 방해가되는 복잡성을 보여줍니다. 자연 지능과 인공 지능은 우리가 생각하는 것보다 더 유사 할 수 있습니다. 내부 스누핑 : 의인성 해석 가능성 연구 Anthropic이 수행 한 연구에서 얻은 새로운 연구 결과는 AI의 내부 컴퓨팅을 역 엔지니어링하는 것을 목표로하는 기계적 해석 성 분야에서 상당한 발전을 나타냅니다. AI가하는 일을 관찰 할뿐만 아니라 인공 뉴런 수준에서 어떻게 수행하는지 이해합니다. 누군가가 특정한 대상을 보거나 특정한 아이디어에 대해 생각할 때 어떤 뉴런이 발사하는지 그림으로 뇌를 이해하려고한다고 상상해보십시오. 에이

Qualcomm 's Dragonwing : 기업 및 인프라로의 전략적 도약 Qualcomm은 새로운 Dragonwing 브랜드를 통해 전 세계적으로 엔터프라이즈 및 인프라 시장을 대상으로 모바일을 넘어 범위를 적극적으로 확장하고 있습니다. 이것은 단지 Rebran이 아닙니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

뜨거운 주제



