Stable Diffusion 모델을 iPhone에 삽입하고 APP으로 만들어 1분만에 사진제작
아이폰에서는 Stable Diffusion 실행이 어렵나요? 오늘 소개할 글에서 저자는 '어렵지 않고, 아이폰은 아직 성능이 50% 남았다'고 답하고 있다.
우리 모두 알고 있듯이, Apple은 매년 새로운 시각적 모델과 이미지 센서의 급속한 발전으로 인해 모든 면에서 더 빠르고 우수하다고 주장하는 새로운 iPhone을 출시합니다. 사진을 예로 들면, 10년 전으로 돌아가면 아이폰으로 고화질 사진을 찍을 수 있을까? 대답은 '아니요'다. 휴대폰 사진 기술은 10년이면 충분히 발전할 수 있기 때문이다.
이러한 (진보적인) 기술 개발 패턴으로 인해 일부 프로그램은 최고의 컴퓨팅 장치에서 실행하더라도 거의 사용할 수 없게 되는 때가 올 것입니다. 그러나 새로 활성화된 시나리오를 갖춘 이러한 새 프로그램은 일부 사용자의 관심을 끌었고 사람들은 기꺼이 연구했습니다.
이 글의 작성자도 그 중 한 명입니다. 지난 3주 동안 작성자는 Stable Diffusion을 통해 이미지를 생성(소환)한 후 원하는 방식으로 편집할 수 있는 애플리케이션을 개발했습니다. 이 앱은 최신 iPhone 14 Pro에서 이미지를 생성하는 데 단 1분밖에 걸리지 않으며, 약 2GiB의 앱 메모리를 사용하고 시작하려면 약 2GiB의 초기 데이터를 다운로드해야 합니다.
앱스토어 링크: https://apps.apple.com/us/app/draw-things-ai- Generation/id6444050820
이 결과는 많은 네티즌들의 관심을 끌었고 일부 사람들은 이를 논의하기 시작했습니다. 휴대전화 배터리 소모 문제를 걱정하며 농담으로 '이거 좋은데 휴대전화 배터리를 소모하는 좋은 방법인 것 같아요'라고 말했습니다.
"지금처럼 iPhone의 열기를 느껴본 적이 없습니다."
"이 추운 겨울에는 휴대폰을 손난로로 사용할 수 있습니다."
하지만 모두가 휴대폰의 열기를 비웃고 있는 동시에 이 작품에 대해서도 매우 높은 평가를 내렸습니다."정말 놀랍습니다. iPhone SE3에서 완전한 이미지를 생성하는 데 약 45초가 걸립니다. 이는 M1 Pro Macbook의 원본 버전과 거의 같은 속도입니다!"
메모리 및 하드웨어 최적화 같은 시간
iPhone에서 Stable Diffusion 실행을 완료하고 여전히 성능의 50%를 절약하려면 주요 과제는 6GiB가 있는 iPhone 장치에서 프로그램을 실행하는 것입니다. 램. . 6GiB는 많은 것 같지만 6GiB 기기에서 2.8GiB 이상을 사용하거나 4GiB 기기에서 2GiB를 사용하면 iOS에서 앱이 종료됩니다.
그렇다면 Stable Diffusion 모델이 추론을 위해 얼마나 많은 메모리가 필요한가요?
이것도 모델의 구조에서 시작됩니다. 일반적으로 안정 확산 모델은 4개 부분으로 구성됩니다. 1. 이미지 생성을 안내하기 위해 텍스트 특징 벡터를 생성하는 텍스트 인코더 2. 이미지를 잠재 공간으로 인코딩하는 선택적 이미지 인코더(이미지 간 생성용) 4. 이미지의 잠재 표현에서 노이즈를 천천히 제거합니다. 4. 잠재 표현에서 이미지를 디코딩하는 이미지 디코더.
첫 번째, 두 번째, 네 번째 모듈은 추론 중에 한 번 실행되며 최대 약 1GiB가 필요합니다. 디노이저 모델은 약 3.2GiB(전체 부동 소수점)를 차지하고 여러 번 실행해야 하므로 작성자는 모듈을 RAM에 더 오래 유지하려고 합니다.
원래 Stable Diffusion 모델에서는 단일 이미지 추론을 수행하는 데 거의 10GiB가 필요했습니다. 단일 입력(2x4x64x64)과 출력(2x4x64x64) 사이에는 많은 출력 레이어가 산재되어 있습니다. 모든 레이어 출력을 즉시 재사용할 수 있는 것은 아니며, 일부는 후속 사용을 위해 일부 매개변수를 유지해야 합니다(잔여 네트워크).
연구원들은 한동안 PyTorch Stable Diffusion을 최적화해 왔습니다. 그들은 PyTorch에서 사용하는 NVIDIA CUDNN 및 CUBLAS 라이브러리를 위한 임시 저장 공간을 예약해 두었습니다. 이러한 최적화는 모두 메모리 사용량을 줄이기 위한 것이므로 Stable Diffusion 모델은 다음과 같이 카드를 사용하여 실행할 수 있습니다. 4GiB만큼 낮습니다. 하지만 그래도 작가의 기대를 뛰어넘었습니다. 따라서 저자는 Apple 하드웨어 및 최적화에 집중하기 시작했습니다. 처음에 저자는 Apple의 OOM(Out of Memory, 앱이 차지하는 메모리가 상한에 도달하는 것을 말합니다. iOS 시스템의 단일 앱으로 인해 시스템 강제 종료가 됩니다) 작성자는 약 500MiB의 공간을 사용할 수 있습니다. 첫 번째 질문, 각 중간 출력의 크기는 얼마입니까? 대부분은 각각 6MiB(2x320x64x64) 미만으로 비교적 작은 것으로 나타났습니다. 작성자가 사용하는 프레임워크(s4nc)는 재사용을 위해 50MiB 미만으로 합리적으로 패키징할 수 있습니다. 노이저에는 이미지의 자체 잠재 표현을 입력으로 사용하는 self-attention 메커니즘이 있다는 점은 언급할 가치가 있습니다. self-attention 계산 중에는 16x4096x4096 크기의 배치 행렬이 있는데, 이는 소프트맥스를 적용한 후 FP16에서 약 500MiB이며 "인플레이스"로 수행할 수 있습니다. 즉, 손상되지 않고 입력을 안전하게 다시 쓸 수 있음을 의미합니다. 다행스럽게도 Apple과 NVIDIA 하위 수준 라이브러리는 모두 내부 소프트맥스 구현을 제공하는 반면 PyTorch와 같은 상위 수준 라이브러리는 제공하지 않습니다. 그렇다면 정말 550MiB + 1.6GiB 정도의 메모리를 사용해서 할 수 있을까요? Apple 하드웨어에서 신경망 백엔드를 구현하는 일반적인 옵션은 MPSGraph 프레임워크를 사용하는 것입니다. 그래서 저자는 먼저 MPSGraph를 사용하여 모든 신경망 연산을 구현해 보았습니다. FP16 정밀도의 최대 메모리 사용량은 약 6GiB입니다. 이는 분명히 예상되는 메모리 사용량보다 훨씬 많은 것입니다. 저자는 그 이유를 자세히 분석했습니다. 우선 MPSGraph를 일반적인 TensorFlow 방식으로 사용하지 않았습니다. MPSGraph에서는 전체 계산 그래프를 인코딩한 다음 입력/출력 텐서를 사용하고 내부 할당을 처리하고 사용자가 실행을 위해 전체 그래프를 제출할 수 있도록 해야 합니다. 저자가 MPSGraph를 사용하는 방식은 작업 실행 엔진인 PyTorch와 매우 유사합니다. 추론 작업을 수행하기 위해 컴파일된 많은 MPSGraphExecutable이 Metal 명령 대기열에서 실행되며, 각각은 중간 할당 메모리를 보유할 수 있습니다. 한 번에 제출하면 이러한 모든 명령은 실행이 완료될 때까지 할당된 메모리를 보유합니다. 이 문제를 해결하는 간단한 방법은 제출 속도를 조정하는 것입니다. 모든 명령을 한 번에 제출할 필요는 없습니다. 실제로 Metal의 대기열당 동시 제출 제한은 64개입니다. 작성자는 한 번에 8개의 작업을 제출하도록 변경하려고 시도했으며 최대 메모리가 4GiB로 줄었습니다. 그러나 여전히 iPhone이 처리할 수 있는 것보다 2GiB 더 많습니다. CUDA를 사용하여 self-attention을 계산하려면 원래 Stable Diffusion 코드 구현에 일반적인 트릭이 있습니다. 즉, 전치 대신 변위를 사용하는 것입니다. 이 트릭은 CUBLAS가 순열된 스트라이드 텐서를 직접 처리할 수 있어 텐서를 전치하기 위해 전용 메모리를 사용할 필요가 없기 때문에 효과적입니다. 하지만 MPSGraph는 스트라이드 텐서를 지원하지 않습니다. 순열 텐서는 어쨌든 내부적으로 전치되므로 중간 메모리 할당이 필요합니다. 명시적으로 전치를 통해 할당은 더 높은 수준의 레이어에서 처리되므로 MPSGraph 내부 비효율성이 방지됩니다. 이 트릭을 사용하면 메모리 사용량이 3GiB에 가까워집니다. iOS 16.0부터 MPSGraph는 더 이상 소프트맥스에 대한 최적의 할당 결정을 내릴 수 없는 것으로 나타났습니다. 입력 텐서와 출력 텐서가 모두 동일한 데이터를 가리키더라도 MPSGraph는 추가 출력 텐서를 할당한 다음 결과를 가리키는 위치에 복사합니다. 저자는 Metal Performance Shaders 대안을 사용하는 것이 완벽하게 적합하고 성능 저하 없이 메모리 사용량을 2.5GiB로 줄인다는 사실을 발견했습니다. 반면에 MPSGraph의 GEMM 커널은 내부 전치가 필요합니다. 명시적 전치도 여기서는 도움이 되지 않습니다. 이러한 전치는 상위 수준 레이어의 "내부" 작업이 아니며 특정 500MiB 크기 텐서의 경우 이러한 추가 할당이 불가피하기 때문입니다. Metal Performance Shader로 전환함으로써 프로젝트 작성자는 약 1%의 성능 저하로 추가로 500MiB를 회수하여 궁극적으로 메모리 사용량을 이상적인 2GiB로 줄였습니다.
위 내용은 Stable Diffusion 모델을 iPhone에 삽입하고 APP으로 만들어 1분만에 사진제작의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기존 컴퓨팅을 능가할 뿐만 아니라 더 낮은 비용으로 더 효율적인 성능을 달성하는 인공 지능 모델을 상상해 보세요. 이것은 공상과학 소설이 아닙니다. DeepSeek-V2[1], 세계에서 가장 강력한 오픈 소스 MoE 모델이 여기에 있습니다. DeepSeek-V2는 경제적인 훈련과 효율적인 추론이라는 특징을 지닌 전문가(MoE) 언어 모델의 강력한 혼합입니다. 이는 236B 매개변수로 구성되며, 그 중 21B는 각 마커를 활성화하는 데 사용됩니다. DeepSeek67B와 비교하여 DeepSeek-V2는 더 강력한 성능을 제공하는 동시에 훈련 비용을 42.5% 절감하고 KV 캐시를 93.3% 줄이며 최대 생성 처리량을 5.76배로 늘립니다. DeepSeek은 일반 인공지능을 연구하는 회사입니다.

AI는 실제로 수학을 변화시키고 있습니다. 최근 이 문제에 주목하고 있는 타오저쉬안(Tao Zhexuan)은 '미국수학회지(Bulletin of the American Mathematical Society)' 최신호를 게재했다. '기계가 수학을 바꿀 것인가?'라는 주제를 중심으로 많은 수학자들이 그들의 의견을 표현했습니다. 저자는 필즈상 수상자 Akshay Venkatesh, 중국 수학자 Zheng Lejun, 뉴욕대학교 컴퓨터 과학자 Ernest Davis 등 업계의 유명 학자들을 포함해 강력한 라인업을 보유하고 있습니다. AI의 세계는 극적으로 변했습니다. 이 기사 중 상당수는 1년 전에 제출되었습니다.

Boston Dynamics Atlas가 공식적으로 전기 로봇 시대에 돌입했습니다! 어제 유압식 Atlas가 역사의 무대에서 "눈물을 흘리며" 물러났습니다. 오늘 Boston Dynamics는 전기식 Atlas가 작동 중이라고 발표했습니다. 상업용 휴머노이드 로봇 분야에서는 보스턴 다이내믹스가 테슬라와 경쟁하겠다는 각오를 다진 것으로 보인다. 새 영상은 공개된 지 10시간 만에 이미 100만 명이 넘는 조회수를 기록했다. 옛 사람들은 떠나고 새로운 역할이 등장하는 것은 역사적 필연이다. 올해가 휴머노이드 로봇의 폭발적인 해라는 것은 의심의 여지가 없습니다. 네티즌들은 “로봇의 발전으로 올해 개막식도 인간처럼 생겼고, 자유도도 인간보다 훨씬 크다. 그런데 정말 공포영화가 아닌가?”라는 반응을 보였다. 영상 시작 부분에서 아틀라스는 바닥에 등을 대고 가만히 누워 있는 모습입니다. 다음은 입이 떡 벌어지는 내용이다

이달 초 MIT와 기타 기관의 연구자들은 MLP에 대한 매우 유망한 대안인 KAN을 제안했습니다. KAN은 정확성과 해석성 측면에서 MLP보다 뛰어납니다. 그리고 매우 적은 수의 매개변수로 더 많은 수의 매개변수를 사용하여 실행되는 MLP보다 성능이 뛰어날 수 있습니다. 예를 들어 저자는 KAN을 사용하여 더 작은 네트워크와 더 높은 수준의 자동화로 DeepMind의 결과를 재현했다고 밝혔습니다. 구체적으로 DeepMind의 MLP에는 약 300,000개의 매개변수가 있는 반면 KAN에는 약 200개의 매개변수만 있습니다. KAN은 MLP와 같이 강력한 수학적 기반을 가지고 있으며, KAN은 Kolmogorov-Arnold 표현 정리를 기반으로 합니다. 아래 그림과 같이 KAN은

Google이 추진하는 JAX의 성능은 최근 벤치마크 테스트에서 Pytorch와 TensorFlow를 능가하여 7개 지표에서 1위를 차지했습니다. 그리고 JAX 성능이 가장 좋은 TPU에서는 테스트가 이루어지지 않았습니다. 개발자들 사이에서는 여전히 Tensorflow보다 Pytorch가 더 인기가 있습니다. 그러나 앞으로는 더 큰 모델이 JAX 플랫폼을 기반으로 훈련되고 실행될 것입니다. 모델 최근 Keras 팀은 기본 PyTorch 구현을 사용하여 세 가지 백엔드(TensorFlow, JAX, PyTorch)와 TensorFlow를 사용하는 Keras2를 벤치마킹했습니다. 첫째, 그들은 주류 세트를 선택합니다.

Apple의 제품과 서비스는 항상 전 세계 사용자들에게 사랑을 받아왔습니다. 홍콩 Apple ID를 등록하면 사용자에게 더 많은 편리함과 특권이 제공됩니다. 홍콩 Apple ID를 등록하는 단계와 주의해야 할 사항을 살펴보겠습니다. 홍콩 Apple ID를 등록하는 방법 Apple 장치를 사용할 때 많은 응용 프로그램과 기능에 로그인하려면 Apple ID를 사용해야 합니다. 홍콩에서 애플리케이션을 다운로드하거나 홍콩 AppStore의 특혜 콘텐츠를 즐기려면 홍콩 Apple ID를 등록하는 것이 매우 필요합니다. 이 기사에서는 홍콩 Apple ID를 등록하는 방법과 주의해야 할 사항에 대한 단계를 자세히 설명합니다. 단계: 언어 및 지역 선택: Apple 장치에서 "설정" 옵션을 찾아 입력하세요.

테슬라의 로봇 옵티머스(Optimus)의 최신 영상이 공개됐는데, 이미 공장에서 작동이 가능한 상태다. 정상 속도에서는 배터리(테슬라의 4680 배터리)를 다음과 같이 분류합니다. 공식은 또한 20배 속도로 보이는 모습을 공개했습니다. 작은 "워크스테이션"에서 따고 따고 따고 : 이번에 출시됩니다. 영상에는 옵티머스가 공장에서 이 작업을 전 과정에 걸쳐 사람의 개입 없이 완전히 자율적으로 완료하는 모습이 담겨 있습니다. 그리고 Optimus의 관점에서 보면 자동 오류 수정에 중점을 두고 구부러진 배터리를 집어 넣을 수도 있습니다. NVIDIA 과학자 Jim Fan은 Optimus의 손에 대해 높은 평가를 했습니다. Optimus의 손은 세계의 다섯 손가락 로봇 중 하나입니다. 가장 능숙합니다. 손은 촉각적일 뿐만 아니라

표적 탐지는 자율주행 시스템에서 상대적으로 성숙한 문제이며, 그 중 보행자 탐지는 가장 먼저 배포되는 알고리즘 중 하나입니다. 대부분의 논문에서 매우 포괄적인 연구가 수행되었습니다. 그러나 서라운드 뷰를 위한 어안 카메라를 사용한 거리 인식은 상대적으로 덜 연구되었습니다. 큰 방사형 왜곡으로 인해 표준 경계 상자 표현은 어안 카메라에서 구현하기 어렵습니다. 위의 설명을 완화하기 위해 확장된 경계 상자, 타원 및 일반 다각형 디자인을 극/각 표현으로 탐색하고 인스턴스 분할 mIOU 메트릭을 정의하여 이러한 표현을 분석합니다. 제안된 다각형 형태의 모델 fisheyeDetNet은 다른 모델보다 성능이 뛰어나며 동시에 자율 주행을 위한 Valeo fisheye 카메라 데이터 세트에서 49.5% mAP를 달성합니다.
