일반 소개
R1-Onevision은 Fancy-MLLM 팀이 개발한 오픈 소스 멀티모달 대규모 언어 모델로, 시각과 언어의 심층적인 결합에 초점을 맞춰 이미지와 텍스트 등의 멀티모달 입력을 처리할 수 있으며 시각 추론, 이미지 이해, 수학적 문제 해결 분야에서 탁월한 성능을 발휘합니다. 기반 Qwen2.5-VL 모델 최적화를 통해 R1-Onevision은 여러 벤치마크에서 Qwen2.5-VL-7B와 같은 동급 모델보다 성능이 뛰어나며 심지어 GPT-4V의 기능에 도전하기도 합니다. 이 프로젝트는 개발자, 연구자들이 학문적 탐구 또는 실제 적용에 적합한 모델 가중치, 데이터 세트 및 코드를 제공하는 GitHub에서 호스팅되고 있습니다.2025 2월 24일 출시 이후 많은 관심을 받았으며 특히 시각적 추론 작업에서 좋은 성과를 거두고 있습니다.

기능 목록
- 멀티모달 추론수학적 문제 해결, 과학적 문제 분석 등 이미지와 텍스트를 결합한 복잡한 추론 작업을 지원합니다.
- 그래픽 이해이미지의 콘텐츠를 분석하고 자세한 설명을 생성하거나 관련 질문에 답하는 기능입니다.
- 데이터 세트 지원자연 장면, OCR, 차트 등과 같은 멀티 도메인 데이터가 포함된 R1-Onevision 데이터 세트를 제공합니다.
- 모델 교육오픈 소스 LLama-Factory 프레임워크를 사용하여 전체 모델 감독 미세 조정(SFT)을 지원합니다.
- 고성능 평가수학 비전, 수학버스 등과 같은 시험에서 또래보다 더 나은 추론 능력을 보여주세요.
- 오픈 소스 리소스모델 가중치 및 코드를 제공하여 2차 개발 또는 연구를 용이하게 합니다.
도움말 사용
설치 프로세스
R1-Onevision은 특정 프로그래밍 기반과 환경 구성이 필요한 GitHub 기반 오픈 소스 프로젝트입니다. 다음은 자세한 설치 및 사용 가이드입니다:
1. 환경 준비
- 운영 체제Linux(예: 우분투) 또는 Windows(WSL 사용)를 권장합니다.
- 하드웨어 요구 사항모델 추론 및 학습을 지원하려면 NVIDIA GPU(최소 16GB의 비디오 메모리, 예: A100 또는 RTX 3090)가 권장됩니다.
- 소프트웨어 종속성::
- Python 3.8 이상.
- PyTorch(GPU 버전을 설치하는 것이 좋습니다. PyTorch 웹사이트를 참조하세요).
- Git(코드 저장소 복제용).
2. 창고 복제
터미널을 열고 다음 명령을 실행하여 R1-Onevision 프로젝트 코드를 가져옵니다:
git clone https://github.com/Fancy-MLLM/R1-Onevision.git
cd R1-Onevision
3. 종속성 설치
이 프로젝트는 다음 명령어로 설치할 수 있는 여러 Python 라이브러리를 사용합니다:
pip install -r requirements.txt
추론 속도를 높여야 한다면 플래시 어텐션을 설치하는 것이 좋습니다:
pip install flash-attn --no-build-isolation
4. 모델 가중치 다운로드
R1-Onevision은 허깅 페이스에서 다운로드할 수 있는 사전 훈련된 모델을 제공합니다:
- 포옹하는 얼굴 모델 페이지를 방문하세요.
- 모델 파일 다운로드(예
R1-Onevision-7B
)를 열고 프로젝트 디렉토리에 압축을 푼 다음models
폴더(수동으로 만들어야 함)에 저장합니다.
5. 구성 환경
CUDA가 제대로 설치되어 있고 PyTorch와 호환되는지 확인하려면 다음 코드를 실행하여 확인할 수 있습니다:
import torch
print(torch.cuda.is_available()) # 输出 True 表示 GPU 可用
사용법
기본 추론: 이미지 및 텍스트 분석
R1-Onevision은 Python 스크립트를 통한 추론 작업 실행을 지원합니다. 아래는 모델을 로드하고 이미지와 텍스트를 처리하는 예제입니다:
- 추론 스크립트 작성::
프로젝트 루트 디렉터리에 파일을 만듭니다(예infer.py
)를 클릭한 후 다음 코드를 입력합니다:
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
import torch
from qwen_vl_utils import process_vision_info
# 加载模型和处理器
MODEL_ID = "models/R1-Onevision-7B" # 替换为模型实际路径
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
MODEL_ID, trust_remote_code=True, torch_dtype=torch.bfloat16
).to("cuda").eval()
# 输入图像和文本
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "path/to/your/image.jpg"}, # 替换为本地图像路径
{"type": "text", "text": "请描述这张图片的内容并回答:图中有几个人?"}
]
}
]
# 处理输入
inputs = processor(messages, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(outputs[0], skip_special_tokens=True)
print(response)
- 스크립트 실행::
python infer.py
스크립트는 이미지 설명과 응답을 출력합니다. 예를 들어 이미지에 두 사람이 있는 경우 모델은 "이 이미지는 벤치에 두 사람이 앉아 있는 공원 장면을 보여줍니다."라고 반환할 수 있습니다.
기능: 수학 추론
R1-Onevision은 수학적 시각 추론에 탁월합니다. 수학 문제(예: "2x + 3 = 7, x 찾기")가 포함된 그림이 있다고 가정하면 다음 단계를 따를 수 있습니다:
- 수정
messages
"이 그림의 수학 문제에 답하고 계산을 해 주세요."라는 텍스트가 표시됩니다. - 스크립트를 실행하면 모델이 다음과 유사한 결과를 반환합니다:
图片中的题目是:2x + 3 = 7
解题过程:
1. 两边同时减去 3:2x + 3 - 3 = 7 - 3
2. 简化得:2x = 4
3. 两边同时除以 2:2x / 2 = 4 / 2
4. 得出:x = 2
最终答案:x = 2
데이터 집합 사용
R1-Onevision은 모델 미세 조정 또는 테스트에 사용할 수 있는 전용 데이터 세트를 제공합니다:
- 데이터 세트 다운로드: 포옹하는 얼굴 데이터 세트 페이지.
- 데이터에는 압축을 푼 후 학습 또는 유효성 검사에 바로 사용할 수 있는 이미지와 텍스트 쌍이 포함되어 있습니다.
모델링 미세 조정
사용자 지정 모델이 필요한 경우 LLama-Factory를 사용하여 감독하에 미세 조정을 수행할 수 있습니다:
- LLama-Factory를 설치합니다:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt
- 교육 매개변수를 구성하고(프로젝트 문서 참조) 실행합니다:
python train.py --model_name models/R1-Onevision-7B --dataset path/to/dataset
운영 프로세스 요약
- 이미지 분석이미지 경로를 준비하고 스크립트를 작성한 후 실행하여 결과를 얻습니다.
- 수학적 추론주제 사진을 업로드하고 질문을 입력한 후 자세한 답변을 확인합니다.
- 사용자 지정 개발데이터 세트와 모델을 다운로드하고 학습용 파라미터를 조정합니다.
원활한 작동을 위해 최소 16GB의 비디오 메모리가 권장되므로 GPU 메모리 사용량에 유의하세요.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...