ChatGPT의 인기로 인해 대형 모델이 점점 더 주목을 받고 있으며, 대형 모델이 발휘하는 능력은 놀랍습니다.
이미지 생성, 추천 시스템, 기계 번역 및 기타 분야에서는 대형 모델이 역할을 시작했습니다. 몇 마디의 즉석에서 보면 이미지 생성 웹사이트 미드저니(Midjourney)가 생성한 디자인 도면은 많은 전문 디자이너들의 수준을 뛰어넘는 수준이다.
왜 대형 모델이 놀라운 능력을 보여줄 수 있나요? 모델의 매개변수 수와 용량이 증가할수록 모델의 성능이 좋아지는 이유는 무엇입니까?
한 AI 알고리즘 회사의 한 전문가는 저자에게 다음과 같이 말했습니다. 모델의 매개변수 수가 증가한다는 것은 모델의 차원이 증가한다는 의미로 이해할 수 있습니다. 즉, 더 복잡한 방법을 사용하여 시뮬레이션할 수 있다는 의미입니다. 현실 세계의 법칙. 가장 간단한 시나리오를 예로 들어 보겠습니다. 평면에 산점도가 있는 경우 직선(변수 1개 함수)을 사용하여 플롯의 산점 패턴을 설명하면 매개변수가 무엇이든 관계없이 다음과 같은 결과가 나타납니다. 항상 일부가 되어야 합니다. 요점은 이 선 밖에 있습니다. 이러한 점의 패턴을 나타내기 위해 이진 함수를 사용하면 이 함수 선에 더 많은 점이 놓이게 됩니다. 함수의 차원이 증가하거나 자유도가 증가함에 따라 이 선에 점점 더 많은 점이 놓이게 되며, 이는 이러한 점의 법칙이 더 정확하게 맞춰질 것임을 의미합니다.
즉, 모델의 매개변수 수가 많을수록 모델이 대용량 데이터의 법칙에 더 쉽게 적응할 수 있다는 것입니다.
ChatGPT의 등장으로 사람들은 모델의 매개변수가 특정 수준에 도달하면 그 효과가 단순히 "더 나은 성능"이 아니라 "예상보다 더 좋음"이라는 것을 발견했습니다.
NLP(자연어 처리) 분야에서는 아직 학계와 업계에서 "Emerging Ability"라는 구체적인 원리를 설명하지 못하는 흥미로운 현상이 있습니다.
"출현"이란 무엇입니까? 출현(Emergence)이란 모델의 매개변수 수가 일정 수준까지 선형적으로 증가하면 모델의 정확도가 기하급수적으로 증가하는 것을 의미합니다.
아래 그림의 왼쪽은 스케일링 법칙을 보여줍니다. 이는 OpenAI 연구진이 2022년 이전에 발견한 현상입니다. 즉, 모델 매개변수 스케일이 기하급수적으로 증가함에 따라 모델이 선형적으로 증가합니다. 왼쪽 그림의 모델 매개변수는 기하급수적으로 증가하는 것이 아니라 선형적으로 증가합니다
2022년 1월 일부 연구자들은 모델의 매개변수 규모가 일정 수준을 초과하면 모델 정확도의 개선 정도가 비례적 수준을 크게 초과한다는 사실을 발견했습니다. 곡선은 다음과 같이 오른쪽에 그려져 있습니다.
"출현" 다이어그램
애플리케이션 수준에서 구현하면 대형 모델이 더하기, 빼기 등 작은 모델이 수행할 수 없는 일부 작업을 수행할 수 있음을 알 수 있습니다. 간단한 작업 추론 등
대형 모델이라고 할 수 있는 모델은 어떤 것이 있나요?
일반적으로 우리는 1억 개가 넘는 매개변수를 가진 모델을 "대형 모델"이라고 부를 수 있다고 믿습니다. 자율주행 분야에서 대형 모델은 크게 두 가지 의미를 갖는다. 하나는 1억 개가 넘는 매개변수를 가진 모델이고, 다른 하나는 매개변수의 개수가 1억 개 미만이지만 여러 개의 소형 모델을 겹쳐서 만든 모델이다. '대형 모델'이라고도 불린다.
이 정의에 따르면, 자율주행 분야에서는 대형 모델이 널리 사용되기 시작했습니다. 클라우드에서는 증가된 모델 매개변수 수로 인한 용량 이점을 활용하고 대규모 모델을 사용하여 데이터 마이닝 및 데이터 주석과 같은 일부 작업을 완료할 수 있습니다. 자동차 측면에서는 서로 다른 하위 작업을 담당하는 여러 개의 작은 모델을 하나의 "대형 모델"로 병합할 수 있으므로 자동차 측면 계산에서 추론 시간을 절약하고 안전성을 높일 수 있습니다.
구체적으로 대형 모델이 어떻게 활약할 수 있나요? 저자가 업계 전문가들과 나눈 정보에 따르면 현재 업계에서는 인식 분야에서 대형 모델을 주로 활용하고 있다. 다음으로 대형 모델이 클라우드와 자동차 측면에서 각각 인식 작업을 어떻게 지원하는지 소개하겠습니다.
1.1.1 자동 데이터 라벨링
대형 모델 사전 학습을 사용하면 자동 라벨링이 가능합니다. 달성. 비디오 클립 주석을 예로 들면, 먼저 레이블이 지정되지 않은 대규모 클립 데이터를 사용하여 자체 감독을 통해 대규모 모델을 사전 학습한 다음, 수동으로 레이블이 지정된 소량의 클립 데이터를 사용하여 모델이 다음과 같이 미세 조정되도록 할 수 있습니다. 모델은 클립 데이터에 자동으로 주석을 달 수 있습니다.
모델의 라벨링 정확도가 높을수록 사람 교체 정도가 높아집니다.
현재 많은 기업에서는 대형 모델의 자동 라벨링 정확도를 향상시키는 방법을 연구하고 있으며, 정확도가 표준에 도달하면 완전한 무인 자동 라벨링을 달성할 수 있기를 희망하고 있습니다.
SenseTime Jueying의 지능형 운전 제품 이사인 Leo는 저자에게 다음과 같이 말했습니다. 평가를 수행한 결과 도로 위의 일반적인 대상에 대해 SenseTime의 대형 모델의 자동 라벨링 정확도가 98% 이상에 도달할 수 있음을 발견했습니다. 방법을 사용하면 후속 수동 검토 단계가 매우 간소화될 수 있습니다.
지능형 주행 제품 개발 과정에서 SenseTime Jueying은 대부분의 인식 작업에 대해 대형 모델의 자동 사전 라벨링을 도입했습니다. 이전과 비교하여 동일한 수의 데이터 샘플을 얻을 때 라벨링 주기 및 라벨링이 완료되었습니다. 비용을 수십 배 이상 줄일 수 있어 개발 효율성이 크게 향상됩니다.
일반적으로 주석 작업에 대한 모든 사람의 기대에는 주로 주석 프로세스의 높은 효율성, 주석 결과의 높은 정확성 및 일관성이 포함됩니다. 높은 효율성과 높은 정확도는 이해하기 쉽습니다. 높은 일관성이란 무엇을 의미합니까? 3D 인식을 위한 BEV 알고리즘에서 엔지니어는 LiDAR와 비전의 공동 주석을 사용해야 하며 포인트 클라우드와 이미지 데이터를 공동으로 처리해야 합니다. 이러한 종류의 처리 링크에서 엔지니어는 이전 프레임과 다음 프레임의 결과가 너무 다르지 않도록 타이밍 수준에서 일부 주석을 작성해야 할 수도 있습니다.
수동 주석을 사용하는 경우 주석 효과는 주석자의 주석 수준에 따라 달라집니다. 주석의 수준이 고르지 않으면 한 그림의 주석 상자가 다음 그림의 주석 상자보다 커질 수 있습니다. 모델이 상대적으로 작으므로 일반적으로 큰 모델의 주석 결과가 더 일관됩니다.
그러나 일부 업계 전문가들은 특히 자율주행 기업과 주석 기업 간의 연계에서 대형 모델의 자동 주석을 실제 응용 프로그램으로 구현하는 데 여전히 일부 어려움이 있다고 보고했습니다. 주석업체에 작업을 아웃소싱하기도 하고, 내부에 주석팀이 없는 회사도 있어서 모든 주석작업을 아웃소싱하기도 합니다.
현재 대형 모델 사전 주석 방식을 사용하여 주석을 달고 있는 대상은 주로 동적 3D 대상입니다. 자율주행 회사에서는 먼저 대형 모델을 사용하여 주석이 필요한 영상을 추론한 후 사용합니다. 추론 결과 - 모델 생성된 3D 박스는 라벨링 업체에 전달됩니다. 먼저 대형 모델에 사전 주석을 달고 사전 주석이 달린 결과를 주석 회사에 전달할 때 관련된 두 가지 주요 문제가 있습니다. 하나는 일부 주석 회사의 주석 플랫폼이 사전 주석이 달린 결과 로드를 지원하지 않을 수 있다는 것입니다. 주석 회사가 사전 주석이 달린 결과를 반드시 수정할 의향이 있는 것은 아닙니다.
주석 회사가 사전에 주석이 달린 결과를 로드하려면 대형 모델에서 생성된 3D 프레임 로드를 지원하는 소프트웨어 플랫폼이 필요합니다. 그러나 일부 주석 회사에서는 수동 주석을 주로 사용하며 모델 사전 주석 결과 로드를 지원하는 소프트웨어 플랫폼이 없기 때문에 고객과 연결할 때 사전 주석이 달린 모델 결과를 얻을 경우 이를 받아들일 방법이 없습니다.
또한 주석 회사의 입장에서는 사전 주석 효과가 충분히 좋아야 진정한 "노력을 절약"할 수 있고, 그렇지 않으면 작업량이 늘어날 수도 있습니다.
사전 라벨링 효과가 충분하지 않은 경우, 라벨링 회사는 누락된 상자 라벨링, 잘못 라벨링된 상자 삭제, 상자 크기 통일 등 앞으로도 많은 작업을 수행해야 합니다. . 그러면 사전 주석을 사용하는 것이 실제로 작업량을 줄이는 데 도움이 되지 않을 수 있습니다.
따라서 실제 적용에서는 사전 주석을 위해 대형 모델을 사용할지 여부를 자율주행 회사와 주석 회사가 저울질할 필요가 있습니다.
물론, 현재 수동 주석 달기 비용은 상대적으로 높습니다. 주석 회사가 처음부터 시작하도록 허용되면 1,000프레임의 비디오 데이터에 대한 수동 주석 달기 비용이 10,000위안에 이를 수도 있습니다. 따라서 자율주행 기업에서는 여전히 대형 모델 사전 라벨링의 정확도를 최대한 높이고, 수동 라벨링 작업량을 최대한 줄여 라벨링 비용을 절감하고자 합니다.
1.1.2 데이터 마이닝
대형 모델은 일반화가 강력하며 롱테일 데이터 마이닝에 적합합니다.
WeRide의 전문가는 저자에게 다음과 같이 말했습니다. 전통적인 태그 기반 방법을 사용하여 롱테일 장면을 마이닝하는 경우 모델은 일반적으로 알려진 이미지 카테고리만 구별할 수 있습니다. 2021년 OpenAI는 CLIP 모델(무지도 사전 학습 후 텍스트와 이미지를 대응시켜 이미지의 레이블에만 의존하지 않고 텍스트를 기반으로 이미지를 분류할 수 있는 텍스트-이미지 다중 모드 모델)을 출시했습니다. 또한 이러한 텍스트-이미지 다중 모드 모델을 채택하고 텍스트 설명을 사용하여 드라이브 로그에서 이미지 데이터를 검색합니다. 예를 들어 '화물을 끄는 건설 차량', '전구 두 개가 동시에 켜진 신호등' 등 롱테일 장면이 있습니다.
또한 대형 모델은 데이터에서 특징을 더 잘 추출한 다음 유사한 특징을 가진 대상을 찾을 수 있습니다.
많은 사진 중에서 환경미화원이 포함된 사진을 찾고 싶다고 가정해 보겠습니다. 먼저 사진에 구체적으로 라벨을 붙일 필요가 없습니다. 일부 환경미화원의 특성을 모델로 추출할 수 있다. 그러면 해당 사진에서 환경미화원의 특성과 일치하는 샘플을 찾아내며, 이를 통해 환경미화원이 포함된 사진을 거의 모두 추출하게 됩니다.
1.1.3 지식 증류를 사용하여 작은 모델을 "가르치"
큰 모델은 지식 증류를 사용하여 작은 모델을 "가르칠" 수도 있습니다.
지식 증류란 무엇인가요? 가장 널리 사용되는 용어로 설명하자면, 대형 모델은 먼저 데이터에서 일부 지식을 학습하거나 일부 정보를 추출한 다음 학습된 지식을 사용하여 소형 모델을 "교육"합니다.
실제로는 먼저 대형 모델에서 라벨을 지정해야 하는 이미지를 학습할 수 있습니다. 이러한 방식으로 이미지에 라벨을 지정하고 이러한 이미지를 학습에 사용할 수 있습니다. 지식을 증류하는 가장 간단한 방법.
물론 대규모 모델을 사용하여 대규모 데이터에서 특징을 추출하는 등 더 복잡한 방법을 사용할 수도 있습니다. 이렇게 추출된 특징을 사용하여 작은 모델을 훈련할 수 있습니다. 즉, 좀 더 복잡한 모델을 설계하고 대형 모델과 소형 모델 사이에 중형 모델을 추가할 수도 있습니다. 대형 모델에서 추출한 특징은 먼저 중형 모델을 학습시킨 다음 학습된 중형 모델을 사용하여 특징을 추출하고 작은 모델에 사용하세요. 엔지니어는 자신의 필요에 따라 설계 방법을 선택할 수 있습니다.
저자는 대형 모델에서 추출한 특징을 추출하고 미세 조정하면 보행자 주의, 보행자 의도 인식 등 작은 모델을 얻을 수 있다는 것을 Xiaoma.ai를 통해 배웠습니다. 게다가 특징 추출 단계에서는 대형 모델을 공유하므로, 계산량이 줄어들 수 있습니다.
1.1.4 Car-End 모델의 성능 상한 테스트
대형 모델은 Car-End 모델의 성능 상한 테스트에도 사용할 수 있습니다. 일부 기업에서는 자동차에 어떤 모델을 배치할지 고려할 때 먼저 클라우드에서 여러 대체 모델을 테스트하여 어떤 모델이 가장 효과가 좋은지, 매개변수 수를 늘린 후 어느 정도 최고의 성능을 달성할 수 있는지 확인합니다.
그런 다음 가장 성능이 좋은 모델을 기본 모델로 사용한 다음 기본 모델을 맞춤화하고 최적화하여 차량에 배포합니다.
1.1.5 자율주행 장면의 재구성 및 데이터 생성
Haomo Zhixing은 2023년 1월 AI DAY에서 다음과 같이 언급했습니다. “NeRF 기술을 사용하면 장면을 암시적으로 저장할 수 있습니다. 신경망에서는 렌더링된 이미지의 지도학습을 통해 장면의 암시적 매개변수를 학습한 후 자율주행 장면을 재구성할 수 있습니다.”
예를 들어, 사진, 해당 포즈, 컬러 장면 밀집 포인트 클라우드를 네트워크에 입력할 수 있으며, 포인트 그리드 네트워크를 기반으로 컬러 포인트 클라우드는 입력 사진의 포즈에 따라 서로 다른 해상도로 래스터화됩니다. 화하고, 여러 규모의 신경 설명자를 생성한 다음 네트워크를 통해 다양한 규모의 기능을 융합합니다.
그런 다음 생성된 밀집 포인트 클라우드의 설명자, 위치 및 이미지의 해당 카메라 매개변수와 노출 매개변수가 후속 네트워크에 입력되어 미세 조정된 톤 매핑을 수행하고 일관된 색상과 노출을 갖는 사진을 얻을 수 있습니다. 합성.
이런 방식으로 장면을 재구성할 수 있습니다. 그런 다음 관점 변경, 조명 변경, 텍스처 재질 변경을 통해 다양한 고현실 데이터를 생성할 수 있습니다. 예를 들어 관점 변경을 통해 차선 변경, 우회, U-차량 등 다양한 주요 차량 동작을 시뮬레이션할 수 있습니다. 회전하고 심지어 임박한 충돌을 시뮬레이션할 수도 있습니다. 고위험 장면 데이터.
1.2.1 다양한 작업 감지에 사용되는 소형 모델 병합
자동차 측 대형 모델을 사용하여 처리하는 것이 주요 형태입니다. 다양한 하위 작업 작은 모델이 병합되어 "대형 모델"을 형성한 다음 공동 추론이 수행됩니다. 여기서 "대형 모델"은 전통적인 의미에서 많은 수의 매개변수를 의미하지 않습니다. 예를 들어 1억 개가 넘는 매개변수가 있는 대형 모델은 물론 결합된 모델이 다양한 하위 작업을 처리하는 소형 모델보다 훨씬 더 큽니다.
기존 자동차 측면 인식 모델에서는 다양한 하위 작업을 처리하는 모델이 독립적으로 추론을 수행합니다. 예를 들어, 한 모델은 차선 감지 작업을 담당하고 다른 모델은 신호등 감지 작업을 담당합니다. 인식 작업이 증가함에 따라 엔지니어는 시스템의 특정 대상을 인식하기 위한 모델을 추가하게 됩니다.
기존 자동운전 시스템은 기능이 적고 인식 작업이 상대적으로 쉬웠지만, 자동 운전 시스템의 기능이 업그레이드되면서 여전히 서로 다른 작업을 별도로 사용하게 되면 점점 더 많은 인식 작업이 발생하게 됩니다. 해당 작업을 담당하는 소형 모델을 별도로 사용하는 경우 추론 방법에 따라 시스템 지연이 너무 길어지고 보안 위험이 발생합니다.
Juefei Technology의 BEV 다중 작업 인식 프레임워크는 다양한 대상의 작은 단일 작업 인식 모델을 결합하여 차선, 지상 화살표, 교차로의 얼룩말 횡단 및 정지를 포함하여 동시에 정적 정보를 출력할 수 있는 시스템을 형성합니다. 노선 등, 교통 참가자의 위치, 크기, 방향 등을 포함한 동적 정보. Juefei Technology의 BEV 다중 작업 인식 알고리즘 프레임워크는 아래 그림과 같습니다.
Juefei Technology의 BEV 다중 작업 인식 알고리즘 프레임워크의 개략도
이 다중 작업 인식 알고리즘 프레임워크는 다음과 같습니다. 작업 인식 모델은 기능의 타이밍을 구현합니다. 융합 - 추론 단계에서 현재 순간의 차량 좌표계를 기반으로 과거 순간의 BEV 기능을 시공간적으로 정렬합니다. 기능 회전 및 변환 포함)을 기반으로 한 다음 역사적 순간의 정렬된 BEV 기능을 현재 순간의 BEV 기능과 결합합니다.
자율 주행 시나리오에서 타이밍 융합은 인식 알고리즘의 정확도를 향상하고 단일 프레임 인식의 한계를 어느 정도 보완할 수 있습니다. 그림에 표시된 3D 타겟 탐지 하위 작업을 예로 들면, 시간 융합을 통해 인식 모델은 단일 프레임 인식 모델로 탐지할 수 없는 일부 타겟(예: 현재 순간에 가려진 타겟)을 탐지할 수 있습니다. 또한 대상의 이동 속도를 보다 정확하게 판단하고 대상 궤적 예측에서 후속 작업을 지원할 수 있습니다.
Juefei Technology의 BEV 감지 기술 책임자인 Qi Yuhan 박사는 저자에게 다음과 같이 말했습니다. 이러한 모델 아키텍처를 사용하면 감지 작업이 점점 더 복잡해지면 다중 작업 공동 감지 프레임워크가 실시간 감지를 보장할 수 있습니다. 자율주행 시스템의 후속 사용을 위해 점점 더 정확한 인식 결과를 제공할 수 있습니다.
그러나 다중 작업 소형 모델의 병합도 몇 가지 문제를 가져올 것입니다. 알고리즘 수준에서 서로 다른 하위 작업에 대한 병합된 모델의 성능은 "롤백"될 수 있습니다. 즉, 모델 검색 성능이 독립적인 단일 작업 모델의 성능보다 낮습니다. 서로 다른 소형 모델을 병합하여 형성된 대형 모델의 네트워크 구조는 여전히 매우 정교할 수 있지만 결합된 모델은 다중 작업 공동 훈련 문제를 해결해야 합니다.
다중 작업 공동 훈련에서 각 하위 작업은 동시 및 동기 수렴을 달성하지 못할 수 있으며 작업은 "부정적 전달"의 영향을 받으며 결합된 모델은 일부 특정 작업에 대한 정확도가 낮습니다. . "대체". 알고리즘 팀은 병합된 모델 구조를 최대한 최적화하고 공동 훈련 전략을 조정하며 '부정적 전이' 현상의 영향을 줄여야 합니다.
1.2.2 객체 감지
한 업계 전문가는 저자에게 다음과 같이 말했습니다. 상대적으로 고정된 실제 값을 가진 일부 객체는 대형 모델을 사용한 감지에 적합합니다.
그렇다면, 참값이 상대적으로 고정되어 있는 물체는 무엇일까요?
고정된 진리값을 갖는 객체는 차선, 기둥, 가로등 기둥, 신호등, 횡단보도, 주차선 등 날씨, 시간 및 기타 요인의 영향을 받지 않는 객체입니다. 지하, 주차공간 등 이러한 물체의 존재와 위치는 고정되어 있으며, 차량이 해당 구역을 통과하는 한 그 위치는 고정됩니다. 이러한 물체는 대형 모델을 사용한 감지에 적합합니다.
1.2.3 차선 토폴로지 예측
한 자율주행 회사는 자사의 AI DAY에서 “BEV 특징 맵을 기반으로 표준 지도를 안내 정보로 사용하고, 자동회귀 인코딩을 사용한다. 차선 토폴로지 예측을 달성하기 위해 BEV 특징을 구조화된 토폴로지 포인트 시퀀스로 디코딩하는 디코딩 네트워크 "
업계의 오픈 소스 추세에 따라 기본 모델 프레임워크는 비밀이 아닙니다. 기업이 좋은 제품을 만들 수 있는지 여부를 결정하는 것은 엔지니어링 역량인 경우가 많습니다.
엔지니어링 능력은 시스템 능력을 향상시키는 데 효과적일 수 있는 몇 가지 방법을 생각할 때 아이디어의 타당성을 신속하게 검증할 수 있는지 여부를 결정합니다. Tesla와 Open AI의 가장 큰 공통점은 두 회사 모두 강력한 엔지니어링 역량을 갖추고 있다는 것입니다. 아이디어의 신뢰성을 최대한 빠르게 테스트한 후 선택한 모델에 대규모 데이터를 적용할 수 있다는 것입니다.
대형 모델의 역량을 실무에서 최대한 활용하기 위해서는 기업의 엔지니어링 역량이 매우 중요합니다. 다음으로는 모델 개발 과정에 따라 대형 모델을 잘 활용하기 위해 어떤 엔지니어링 역량이 필요한지 설명하겠습니다.
대형 모델의 매개변수가 크기 때문에 대형 모델을 훈련하는 데 사용되는 데이터의 양도 많습니다. 예를 들어 Tesla의 알고리즘 팀은 작년 AI Day에서 팀이 논의한 3D 점유 네트워크를 훈련하기 위해 약 14억 개의 이미지를 사용했습니다.
사실, 대량의 데이터 중에서 모델 학습에 유용한 데이터를 먼저 필터링해야 하기 때문에 이미지 개수의 초기 값은 실제 사용된 개수의 수십 배 또는 수백 배일 것입니다. 모델에 사용되기 때문에 훈련 사진의 개수는 14억 장이므로 원본 사진의 개수는 14억 장보다 훨씬 많아야 합니다.
그렇다면 수백억, 심지어 수천억 개의 이미지 데이터를 어떻게 저장할까요? 이는 파일 읽기 시스템과 데이터 저장 시스템 모두에 있어 큰 과제입니다. 특히, 현재 자율주행 데이터는 클립 형태로 되어 있고, 파일 개수가 많아 작은 파일을 즉시 저장하는 데 있어 높은 효율성이 요구된다.
이러한 문제에 대처하기 위해 업계의 일부 회사에서는 데이터에 대한 슬라이싱 저장 방법을 채택한 다음 분산 아키텍처를 사용하여 다중 사용자 및 다중 동시 액세스를 지원합니다. 데이터 처리량 대역폭은 100G/s에 도달할 수 있습니다. I/O 지연 시간은 2밀리초까지 낮을 수 있습니다. 소위 다중 사용자는 특정 데이터 파일에 동시에 액세스하는 많은 사용자를 의미하며, 다중 동시성은 여러 스레드에서 특정 데이터 파일에 액세스해야 하는 필요성을 의미합니다. -스레딩. 각 스레드는 모두 특정 데이터 파일을 사용해야 합니다.
빅 데이터를 사용하면 모델이 데이터 정보를 더 잘 추상화하도록 어떻게 보장할 수 있나요? 이를 위해서는 모델이 해당 작업에 적합한 네트워크 아키텍처를 갖추어 모델의 많은 매개변수의 장점을 최대한 활용하여 모델이 강력한 정보 추출 기능을 갖도록 해야 합니다.
SenseTime의 대형 모델 R&D 수석 관리자인 Lucas는 저자에게 다음과 같이 말했습니다. 우리는 표준화된 산업 등급 반자동 초대형 모델 설계 시스템을 보유하고 있습니다. 초대형 모델의 네트워크 아키텍처 설계 대규모 데이터 학습에 가장 적합한 네트워크 아키텍처를 찾기 위한 기반으로 시스템을 검색합니다.
소형 모델을 설계할 때 주로 수동 설계, 튜닝 및 반복에 의존하여 최종적으로 만족스러운 결과를 얻은 모델을 얻습니다. 비록 이 모델이 반드시 최적은 아니지만 반복 후에는 기본적으로 요구 사항을 충족할 수 있습니다.
대형 모델의 경우 네트워크 구조가 매우 복잡하기 때문에 수동 설계, 튜닝, 반복을 사용하면 컴퓨팅 파워가 많이 소모되고 이에 따라 비용도 높아집니다. 따라서 제한된 리소스로 훈련에 적합한 네트워크 아키텍처를 빠르고 효율적으로 설계하는 방법은 해결해야 할 문제입니다.
Lucas는 우리가 일련의 연산자 라이브러리를 갖고 있으며, 모델의 네트워크 구조는 이 연산자 세트의 배열과 조합으로 볼 수 있다고 설명했습니다. 이 산업용 검색 시스템은 네트워크 계층 수, 매개변수 크기 등 기본 매개변수를 설정하여 연산자를 배열하고 결합하는 방법을 계산하여 더 나은 모델 효과를 얻을 수 있습니다.
모델 효과는 특정 데이터 세트의 예측 정확도, 모델 실행 시 사용되는 메모리, 모델 실행에 필요한 시간 등 일부 기준을 기반으로 평가할 수 있습니다. 이러한 지표에 적절한 가중치를 부여함으로써 만족스러운 모델을 찾을 때까지 계속 반복할 수 있습니다. 물론 검색 단계에서는 먼저 몇 가지 작은 장면을 사용하여 모델의 효과를 초기에 평가해 보겠습니다.
모델 효과를 평가할 때 좀 더 대표적인 장면을 선택하는 방법은 무엇인가요?
일반적으로 몇 가지 일반적인 시나리오를 선택할 수 있습니다. 네트워크 아키텍처는 모델이 특정 시나리오의 특성을 학습할 수 있기를 바라는 것이 아니라 모델이 대량의 데이터에서 핵심 정보를 추출할 수 있는 능력을 갖도록 설계되었습니다. 모델은 롱테일 시나리오 마이닝의 일부 작업을 완료하는 데 사용되지만, 모델 아키텍처를 선택할 때 일반 시나리오를 사용하여 모델의 기능을 평가합니다.
고효율, 고정밀 신경망 검색 시스템을 사용하면 계산 효율성과 계산 정확도가 충분히 높아 모델 효과가 빠르게 수렴될 수 있으며 넓은 공간에서도 좋은 네트워크 아키텍처를 빠르게 찾을 수 있습니다. .
이전 기본 작업이 완료되면 학습 링크로 이동합니다. 학습 링크에는 최적화할 만한 영역이 많이 있습니다.
2.3.1 최적화 연산자
신경망은 여러 기본 연산자의 조합으로 이해될 수 있습니다. 한편으로는 연산자 계산이 메모리를 차지합니다. 연산자를 최적화하여 연산자의 계산 효율성을 향상시킬 수 있다면 훈련 효율성도 향상될 수 있습니다.
PyTorch, TensorFlow 등과 같은 일부 AI 교육 프레임워크가 이미 시장에 나와 있습니다. 이러한 교육 프레임워크는 기계 학습 엔지니어가 자체 모델을 구축하기 위해 호출할 수 있는 기본 연산자를 제공할 수 있습니다. 일부 회사는 교육 효율성을 높이기 위해 자체 교육 프레임워크를 구축하고 기본 운영자를 최적화합니다.
PyTorch와 TensorFlow는 다양성을 최대한 보장해야 하므로 제공되는 연산자는 일반적으로 매우 기본적입니다. 기업은 필요에 따라 기본 연산자를 통합하여 중간 결과를 저장할 필요가 없고 메모리 사용량을 절약하며 성능 손실을 피할 수 있습니다.
또한 일부 특정 연산자가 계산 중 중간 결과에 대한 의존도가 높아 GPU의 병렬성을 잘 활용하지 못하는 문제를 해결하기 위해 업계 일부 회사에서는 자체 가속 라이브러리를 구축하여 결과의 의존성을 통해 계산 프로세스에서 GPU의 병렬 컴퓨팅 이점을 최대한 활용하고 훈련 속도를 향상시킬 수 있습니다.
예를 들어 4개의 주류 Transformer 모델에서 ByteDance의 LightSeq는 PyTorch를 기반으로 최대 8배의 가속을 달성했습니다.
2.3.2 병렬 전략을 잘 활용하세요
병렬 컴퓨팅은 "시간과 공간을 교환하는" 방법, 즉 계산 의존성 없이 데이터를 최대한 병렬화하고 큰 배치를 분할하는 방법입니다. 작은 배치로 나누어 각 계산 단계에서 GPU 유휴 대기 시간을 줄이고 계산 처리량을 향상시킵니다.
현재 많은 회사에서 PyTorch 훈련 프레임워크를 채택했습니다. 이 훈련 프레임워크에는 DDP 모드가 포함되어 있습니다. DDP 모드는 분산 데이터 병렬 훈련 모드로서 여러 기계와 여러 카드 훈련을 지원하는 데이터 배포 메커니즘을 설계합니다. 예를 들어 회사에 8개의 서버가 있고 각 서버에 8개의 카드가 있는 경우 동시에 교육에 64개의 카드를 사용할 수 있습니다.
이 모드가 없으면 엔지니어는 여러 카드가 있는 단일 기계만 사용하여 모델을 훈련할 수 있습니다. 이제 100,000개의 이미지 데이터를 사용하여 모델을 훈련한다고 가정합니다. 단일 머신 다중 카드 모드에서는 훈련 시간이 일주일 이상이 됩니다. 훈련 결과를 사용하여 특정 추측을 평가하거나 여러 대체 모델 중에서 가장 좋은 모델을 선택하려는 경우 이러한 훈련 시간은 추측을 빠르게 검증하고 모델 효과를 빠르게 테스트하는 데 필요한 대기 시간을 매우 길게 만듭니다. 그러면 R&D 효율성이 매우 낮아질 것입니다.
다중 머신 및 멀티 카드 병렬 학습을 사용하면 대부분의 실험 결과를 2~3일 안에 확인할 수 있으므로 모델 효과를 검증하는 과정이 훨씬 빨라집니다.
구체적인 병렬 방식으로는 모델 병렬성과 시퀀스 병렬성을 주로 사용할 수 있습니다.
모델 병렬성은 아래 그림과 같이 파이프라인 병렬성과 텐서 병렬성으로 나눌 수 있습니다.
파이프라인 병렬 처리 및 텐서 병렬 처리의 도식 다이어그램, NVIDIA의 그림
파이프라인 병렬 처리도 레이어 간 병렬 처리입니다(그림의 위쪽 부분). 훈련 과정 계산을 위해 서로 다른 레이어를 서로 다른 GPU로 나눕니다. 예를 들어 그림의 상단과 같이 레이어의 녹색 부분과 파란색 부분을 서로 다른 GPU에서 계산할 수 있습니다.
Tensor 병렬 처리는 레이어 내 병렬 처리입니다(그림의 아래쪽 부분). 엔지니어는 레이어 계산을 여러 GPU로 나눌 수 있습니다. 이 모드는 GPU 간의 로드 밸런싱을 달성할 수 있기 때문에 대규모 행렬 계산에 적합하지만, 통신 횟수와 데이터 양이 상대적으로 많습니다.
모델 병렬성 외에 시퀀스 병렬성도 있습니다. Tensor 병렬성은 Layer-norm과 Dropout을 분리하지 않기 때문에 계산량이 크지는 않지만 이 두 연산자는 각 GPU 간에 반복적으로 계산됩니다. 하지만 활성 비디오 메모리를 많이 차지합니다.
이 문제를 해결하기 위해 실제 프로세스에서는 Layer-norm과 Dropout이 시퀀스의 차원을 따라 서로 독립적이라는 점(즉, 서로 다른 레이어 사이의 Layer_norm과 Dropout)을 활용할 수 있습니다. 서로 영향을 주지 않음) 아래 그림과 같이 Layer-norm과 Dropout을 분리합니다. 이 분할의 장점은 통신량을 늘리지 않고 메모리 사용량을 크게 줄일 수 있다는 것입니다.
NVIDIA의 그림
실제로 엔지니어는 모델의 특성과 사용되는 하드웨어의 특성을 고려해야 합니다. 중간 계산 프로세스뿐만 아니라 적절한 병렬 전략을 찾기 전에 계속 디버깅하십시오.
2.3.3 "희소" 속성을 잘 활용하세요
모델을 훈련할 때 희소성을 잘 활용해야 합니다. 즉, 모든 뉴런이 "활성화"되어야 하는 것은 아닙니다. 즉, 훈련 데이터를 추가할 때 모든 모델 매개변수가 새로 추가된 데이터를 기반으로 해서는 안 됩니다. 업데이트하면 일부 모델 매개변수는 변경되지 않고 일부 모델 매개변수는 새로 추가된 데이터로 업데이트됩니다.
좋은 희소 처리는 모델 학습 효율성을 향상시키는 동시에 정확성을 보장할 수 있습니다.
예를 들어 인식 작업에서 새 사진이 소개되면 이러한 사진을 기반으로 업데이트해야 하는 매개변수를 선택하여 대상 특징 추출을 수행할 수 있습니다.
2.3.4 기본 정보의 통합 처리
일반적으로 회사 내에서는 두 개 이상의 모델이 사용되며 이러한 모델은 동일한 데이터를 사용할 수 있습니다. 비디오 데이터. 각 모델이 영상 데이터를 로딩하고 처리하게 되면 반복되는 계산이 많이 발생하게 됩니다. 대부분의 모델이 사용해야 하는 비디오, 포인트 클라우드, 지도, CAN 신호 등 다양한 모달 정보를 균일하게 처리할 수 있어 다양한 모델에서 처리 결과를 재사용할 수 있습니다.
2.3.5 하드웨어 구성 최적화
실제로 분산 학습을 사용하면 1000대의 머신이 데이터를 저장하는 여러 서버에서 학습 과정 동안 중간 결과를 얻는 방법 ——예를 들어. , 그래디언트, 그리고 매우 대규모의 분산 훈련을 수행하는 것은 큰 도전입니다.
이 문제를 해결하려면 먼저 CPU, GPU 등을 구성하는 방법, 네트워크 카드를 선택하는 방법, 네트워크 카드의 속도를 고려하여 기계 간 전송이 빨라질 수 있어야 합니다. .
둘째, 매개변수를 동기화하고 중간 결과를 저장해야 하지만 규모가 커지면 이 문제가 매우 어려워지며 일부 네트워크 통신 작업이 필요하게 됩니다.
또한, 전체 학습 과정에 오랜 시간이 걸리기 때문에 클러스터의 안정성이 매우 높아야 합니다.
대형 모델이 이미 자율주행 분야에서 어느 정도 역할을 할 수 있게 된 만큼, 모델 매개변수를 계속 늘려간다면 대형 모델도 자율주행 분야에서 활약할 수 있을 것으로 기대할 수 있습니다. 놀라운 결과를 보여줄 수 있습니다. 효과적인가요?
저자가 자율주행 분야의 알고리즘 전문가들과 나눈 대화에 따르면, 현재의 대답은 '아니오'일 것으로 보입니다. 위에서 언급한 '이머전스' 현상이 아직 CV(컴퓨터 비전) 분야에서는 나타나지 않았기 때문입니다. 현재 자율주행 분야에서 사용되는 모델 매개변수의 수는 ChatGPT에 비해 훨씬 적습니다. "창출" 효과가 없을 때 모델 성능 향상과 매개변수 수의 증가 사이에는 대략 선형 관계가 있기 때문에 비용 제약을 고려할 때 기업은 아직 모델의 매개변수 수를 최대화하지 않았습니다.
컴퓨터 비전 분야에서 아직 '이머전스' 현상이 발생하지 않은 이유는 무엇인가요? 전문가의 설명은 다음과 같습니다.
먼저 세상에는 텍스트 데이터보다 시각적 데이터가 훨씬 많지만, 이미지 데이터는 희박합니다. 즉, 대부분의 사진에는 효과적인 정보가 많지 않을 수 있으며, 각 사진은 대부분 이미지의 픽셀은 유용한 정보를 제공하지 않습니다. 셀카를 찍으면 중앙의 얼굴을 제외하고 배경 영역에는 유효한 정보가 없습니다.
두 번째로, 이미지 데이터는 규모 변화가 크며 완전히 구조화되어 있지 않습니다. 스케일 변경은 동일한 의미를 포함하는 객체가 해당 그림에서 크거나 작을 수 있음을 의미합니다. 예를 들어, 먼저 셀카를 찍고, 멀리 있는 친구에게 사진을 한 장 더 찍어달라고 부탁하는 경우, 두 사진에서 사진 속 얼굴의 비율이 매우 다릅니다. 구조화되지 않았다는 것은 각 픽셀 간의 관계가 불확실하다는 것을 의미합니다.
그러나 자연어 처리 분야에서는 언어가 사람 간의 의사소통을 위한 도구이기 때문에 일반적으로 문맥이 연관되어 있고 각 문장의 정보 밀도가 일반적으로 크고 규모 변화의 문제가 없습니다. 예를 들어, 어떤 언어에서든 "사과"라는 단어는 일반적으로 너무 길지 않습니다.
따라서 시각적 데이터 자체를 이해하는 것은 자연어보다 더 어려울 것입니다.
한 업계 전문가는 작성자에게 다음과 같이 말했습니다. 매개변수 수가 증가할수록 모델의 성능이 향상될 것으로 예상할 수 있지만, 현재 매개변수 수를 계속 늘리는 것의 비용 효율성은 낮습니다.
예를 들어 모델의 용량을 기존 기준으로 10배 확장하면 상대오차율을 90%까지 줄일 수 있습니다. 현재 모델은 이미 얼굴 인식과 같은 일부 컴퓨터 비전 작업을 완료할 수 있습니다. 이때 모델의 용량을 계속해서 10배 확장하고 상대 오류율이 계속해서 90% 감소하지만 달성할 수 있는 값이 10배 증가하지 않는다면 계속 확장할 필요가 없습니다. 모델의 용량.
모델 용량을 확장하면 비용이 증가합니다. 더 큰 모델에는 더 많은 교육 데이터와 더 많은 컴퓨팅 성능이 필요하기 때문입니다. 모델의 정확도가 허용 가능한 범위에 도달하면 비용 상승과 정확도 향상 사이에서 균형을 이루고 실제 요구에 따라 허용 가능한 정확도로 비용을 최대한 줄여야 합니다.
아직 정확도를 높여야 하는 작업이 있지만, 자동 주석, 데이터 마이닝 등 사람이 수행할 수 있는 클라우드의 일부 수동 작업은 주로 대형 모델을 통해 대체됩니다. 비용이 너무 높으면 경제 계정이 계산되지 않습니다.
그러나 일부 업계 전문가는 작성자에게 다음과 같이 말했습니다. 아직 질적 변화점에 도달하지는 않았지만 모델의 매개변수가 증가하고 데이터량이 증가함에 따라 모델의 정확도가 향상되고 있음을 실제로 관찰할 수 있습니다. . 라벨링 작업에 사용되는 모델의 정확도가 충분히 높으면 자동 라벨링 수준이 향상되어 인건비가 크게 절감됩니다. 현재는 모델 크기가 커짐에 따라 훈련 비용도 증가하지만 비용은 모델 매개변수 수와 대략 선형적으로 관련됩니다. 훈련 비용은 증가하지만 인력 감소로 이러한 증가를 상쇄할 수 있으므로 매개변수 수를 늘리면 여전히 이점을 얻을 수 있습니다.
또한 모델 매개변수 수를 늘리는 동시에 훈련 효율성을 향상시켜 훈련 비용을 최소화하는 몇 가지 기술도 사용할 것입니다. 기존 모델 규모 내에서 비용을 일정하게 유지하면서 모델의 매개변수 수를 늘리고 모델의 정확도를 향상시킬 수 있습니다. 이는 모델 매개변수의 수가 증가함에 따라 모델 비용이 선형적으로 증가하는 것을 방지하는 것과 같습니다. 비용이 거의 증가하지 않거나 약간만 증가하는 것을 달성할 수 있습니다.
위에서 언급한 적용 외에도 대형 모델의 가치를 어떻게 탐색할 수 있을까요?
CMU 연구 과학자 Max는 저자에게 다음과 같이 말했습니다. 인식 작업을 달성하기 위해 대형 모델을 사용하는 핵심은 매개변수를 쌓는 것이 아니라 '내부 루프'가 가능한 프레임워크를 만드는 것입니다. . 전체 모델이 내부 루프를 달성할 수 없거나 지속적인 온라인 교육을 달성할 수 없다면 좋은 결과를 얻기 어려울 것입니다.
그렇다면 모델의 "내부 루프"를 어떻게 구현할까요? 아래 그림과 같이 ChatGPT의 훈련 프레임워크를 참조할 수 있습니다.
ChatGPT 교육 프레임워크, Open AI 공식 웹사이트에서 가져온 사진
ChatGPT의 모델 프레임워크는 세 단계로 나눌 수 있습니다. 첫 번째 단계는 지도 학습이고, 엔지니어가 먼저입니다. 부품 데이터를 수집하고 레이블을 지정한 다음 이 데이터 부분을 사용하여 모델을 훈련합니다. 두 번째 단계는 보상 모델(보상 모델)을 설계하는 것입니다. 모델은 세 번째 단계에서 자체적으로 일부 레이블 지정 결과를 출력할 수 있습니다. 강화 학습과 유사한 경로를 통해 자가 학습을 달성할 수 있습니다. 보다 대중적인 언어로 지도 학습을 "자신과 함께 하기" 또는 "내부 루프"라고 합니다.
세 번째 단계에 도달하면 모델은 더 이상 엔지니어가 레이블이 있는 데이터를 추가할 필요가 없습니다. 대신 레이블이 없는 데이터를 얻은 후 자체적으로 손실을 계산한 다음 이 주기는 다음 단계까지 계속됩니다. 드디어 훈련이 끝났습니다.
"인식 작업을 수행할 때 모델 훈련이 더 이상 레이블이 지정된 데이터에 의존하지 않도록 적절한 보상 정책을 설계할 수 있다면 모델이 '내부 루프'를 달성했으며 레이블이 지정되지 않은 데이터를 기반으로 지속적으로 업데이트될 수 있다고 말할 수 있습니다. .매개변수.”
바둑 같은 분야에서는 일반적으로 우리의 목표는 결국 게임에서 승리하는 것뿐이기 때문에 각 단계의 질을 판단하기가 더 쉽습니다.
그러나 자율주행 계획 분야에서는 자율주행 시스템이 나타내는 행동에 대한 평가 체계가 불분명합니다. 안전을 보장하는 것 외에도 편안함에 대한 생각은 사람마다 다르며, 목적지에 최대한 빨리 도달하고 싶을 수도 있습니다.
채팅 장면으로 전환할 때마다 로봇이 주는 피드백이 '좋음'인지 '나쁨'인지는 사실 바둑처럼 아주 명확한 평가 시스템은 아닙니다. 자율주행도 이와 비슷합니다. 사람마다 무엇이 '좋다', '나쁘다'에 대한 기준이 다르며, 명확하게 표현하기 어려운 요구 사항이 있을 수도 있습니다.
ChatGPT 훈련 프레임워크의 두 번째 단계에서 주석자는 모델별로 결과 출력을 정렬한 다음 이 정렬된 결과를 사용하여 보상 모델을 훈련합니다. 처음에는 이 보상 모델이 완벽하지는 않지만 지속적인 훈련을 통해 이 보상 모델이 우리가 원하는 효과에 지속적으로 접근하도록 할 수 있습니다.
한 인공지능 회사의 한 전문가는 저자에게 이렇게 말했습니다. 자율주행 계획 분야에서는 자동차 운전에 대한 데이터를 지속적으로 수집한 다음, 어떤 상황에서 사람들이 인수할지(즉, 사람들이 인수할 것인지 모델에 알려줄 수 있습니다. 위험이 있다고 느낀다)), 어떤 상황에서는 정상적으로 주행할 수 있는지, 데이터 양이 늘어날수록 보상 모델은 점점 완벽에 가까워질 것입니다.
즉, 완벽한 보상 모델을 명시적으로 작성하는 것을 포기하고, 모델에 지속적으로 피드백을 제공하여 지속적으로 완벽에 접근하는 솔루션을 얻는 것을 고려할 수 있습니다.
수기 작성 규칙에 의존하여 명시적으로 최적의 솔루션을 찾으려고 노력하는 기획 분야의 현재 일반적인 관행에 비해, 초기 보상 모델을 먼저 사용한 후 데이터를 기반으로 지속적으로 최적화하는 방법은 패러다임 전환.
이 방법을 채택한 후 최적화 계획 모듈은 상대적으로 표준적인 프로세스를 채택할 수 있습니다. 우리가 해야 할 일은 지속적으로 데이터를 수집한 다음 보상 모델을 교육하는 것뿐입니다. 전체 프로세스를 분석하기 위해 더 이상 특정 엔지니어에 의존하지 않습니다. 전통적인 방법과 마찬가지로 계획 모듈에 대한 이해도가 높습니다.
또한, 특정 규칙 변경 후에는 모든 과거 데이터를 사용할 수 있으므로 걱정할 필요가 없습니다. 단, 현재의 일부 문제는 해결되었지만 이전에 해결된 일부 문제는 기존 방식을 사용하여 다시 나타납니다. 방법을 사용하면 이 문제로 인해 어려움을 겪을 수 있습니다.
위 내용은 1만 단어에 달하는 장문의 글에서는 자율주행 분야의 대형 모델 적용을 설명하고 있다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!