같은 맥락의 비슷한 질답이 이어지니 학습이 잘 되지 않을거 같음.
대충 100가지 정도 될거같은데 3000건은 너무 많다. 중복 제거 요망
아이폰의 다른 질문거리도 넣어보자.
데이터 중복 제거로 인한 파라미터의 변경이 불가피해 보인다.
마찬가지로 수정이 필요해 보인다.
내가 직접 만들기에는 너무 버거워서 좀 부탁해 봤다.
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone 배터리 상태 확인 방법"}, {"role": "assistant", "content": "설정 > 배터리 > 배터리 상태에서 확인할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone 배터리 오래 쓰는 팁"}, {"role": "assistant", "content": "배터리 절약 모드를 사용하고, 화면 밝기를 낮추세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰이 갑자기 꺼지는 문제 해결법 어떻게 하나요?"}, {"role": "assistant", "content": "배터리 상태를 확인하고, 필요하면 서비스 센터 방문을 권장합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 소프트웨어 업데이트 방법"}, {"role": "assistant", "content": "설정 > 일반 > 소프트웨어 업데이트에서 최신 버전으로 업데이트할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 화면 수리 비용이 궁금해요."}, {"role": "assistant", "content": "공식 서비스 센터에서 수리를 받으시는 것이 좋습니다. 모델에 따라 비용이 다를 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 데이터 백업 방법 알려주세요."}, {"role": "assistant", "content": "iCloud 또는 iTunes를 통해 백업할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱 삭제는 어떻게 하나요?"}, {"role": "assistant", "content": "앱 아이콘을 길게 눌러 삭제할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 사진 복구 방법이 있나요?"}, {"role": "assistant", "content": "최근 삭제된 항목에서 복구할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 비밀번호를 잊었어요. 어떻게 해야 하나요?"}, {"role": "assistant", "content": "복구 모드를 통해 초기화해야 합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "와이파이 연결이 안 돼요."}, {"role": "assistant", "content": "네트워크 설정을 재설정하거나 라우터를 확인하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 문자 메시지 복구 가능한가요?"}, {"role": "assistant", "content": "iCloud 백업에서 복구할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone이 충전이 안 돼요. 원인이 뭔가요?"}, {"role": "assistant", "content": "충전 케이블과 어댑터, 충전 포트를 점검해 보세요. 문제가 지속되면 서비스 센터를 방문하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 블루투스 연결이 자주 끊겨요."}, {"role": "assistant", "content": "블루투스 기기와의 거리를 확인하고, 네트워크 설정을 재설정해 보세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "벨소리 변경 방법"}, {"role": "assistant", "content": "설정 > 사운드 및 햅틱 > 벨소리에서 변경할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 알람이 울리지 않아요."}, {"role": "assistant", "content": "알람 설정과 음량, 무음 모드 여부를 확인해 주세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "통화 녹음 가능한가요?"}, {"role": "assistant", "content": "아이폰 기본 기능으로 통화 녹음은 지원하지 않습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 스팸 전화 차단 방법"}, {"role": "assistant", "content": "설정 > 전화 > 발신자 차단 및 신원 확인에서 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "위치 서비스 켜는 방법"}, {"role": "assistant", "content": "설정 > 개인 정보 보호 및 보안 > 위치 서비스에서 켜거나 끌 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 핫스팟 설정 방법"}, {"role": "assistant", "content": "설정 > 셀룰러 > 개인용 핫스팟에서 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "화면 캡처하는 방법 알려주세요."}, {"role": "assistant", "content": "사이드 버튼과 볼륨 업 버튼을 동시에 누르면 화면 캡처가 됩니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "화면 녹화는 어떻게 하나요?"}, {"role": "assistant", "content": "설정 > 제어 센터에서 '화면 기록'을 추가한 후 제어 센터에서 녹화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱이 자꾸 꺼져요."}, {"role": "assistant", "content": "앱을 최신 버전으로 업데이트하거나, 기기를 재시작해 보세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "저장 공간 부족 시 대처 방법"}, {"role": "assistant", "content": "불필요한 앱과 사진, 동영상을 삭제하거나 iCloud 저장 공간을 활용하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 음성 메모 복구 방법"}, {"role": "assistant", "content": "최근 삭제된 항목에서 복구할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "연락처 옮기는 방법"}, {"role": "assistant", "content": "iCloud 동기화 또는 SIM 카드, 타사 앱을 통해 옮길 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 화면 밝기 조절 방법"}, {"role": "assistant", "content": "설정 > 디스플레이 및 밝기에서 조절할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "다크 모드 설정 방법"}, {"role": "assistant", "content": "설정 > 디스플레이 및 밝기 > 모드에서 다크 모드를 선택할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 Face ID 재설정 방법"}, {"role": "assistant", "content": "설정 > Face ID 및 암호에서 Face ID를 재설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "Siri 활성화 방법"}, {"role": "assistant", "content": "설정 > Siri 및 검색에서 Siri를 활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱 자동 업데이트 설정"}, {"role": "assistant", "content": "설정 > 앱 스토어 > 앱 업데이트에서 자동 업데이트를 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "통화 품질이 나빠요."}, {"role": "assistant", "content": "신호 상태와 주변 환경을 확인하고, 문제가 지속되면 통신사에 문의하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 소프트웨어 강제 재시작 방법"}, {"role": "assistant", "content": "볼륨 업 버튼, 볼륨 다운 버튼을 차례로 누른 뒤, 사이드 버튼을 길게 눌러 재시작하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "방해금지 모드 설정"}, {"role": "assistant", "content": "설정 > 집중 모드 > 방해금지 모드에서 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 분실 모드 설정 방법"}, {"role": "assistant", "content": "나의 찾기 앱에서 분실 모드를 활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱이 설치되지 않아요."}, {"role": "assistant", "content": "저장 공간과 네트워크 상태를 확인하고, 앱스토어 로그인을 확인하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 소프트웨어 롤백 가능한가요?"}, {"role": "assistant", "content": "공식적으로는 이전 버전으로 롤백이 불가능합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "문자 메시지가 안 와요."}, {"role": "assistant", "content": "메시지 설정과 네트워크 상태를 확인하고, 필요 시 통신사에 문의하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 AirDrop 사용 방법"}, {"role": "assistant", "content": "제어 센터에서 AirDrop을 켜고, 전송할 파일을 선택하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱 권한 설정 방법"}, {"role": "assistant", "content": "설정 > 개인 정보 보호에서 각 앱의 권한을 관리할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 스크린타임 설정"}, {"role": "assistant", "content": "설정 > 스크린타임에서 사용 시간을 관리할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "긴급 구조 요청 방법"}, {"role": "assistant", "content": "사이드 버튼과 볼륨 버튼을 동시에 길게 누르면 긴급 구조 요청이 가능합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 배경화면 변경 방법"}, {"role": "assistant", "content": "설정 > 배경화면에서 원하는 이미지를 선택해 변경할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 앨범 잠그는 방법"}, {"role": "assistant", "content": "사진 앱에서 숨김 앨범을 활성화하고, Face ID 또는 암호로 잠글 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 메모 앱 동기화 방법"}, {"role": "assistant", "content": "설정 > Apple ID > iCloud에서 메모 동기화를 활성화하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "카메라 화질 조절 방법"}, {"role": "assistant", "content": "설정 > 카메라 > 포맷 및 해상도에서 조절할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 음성 인식 기능 사용법"}, {"role": "assistant", "content": "설정 > 손쉬운 사용 > 음성 제어에서 활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "키보드 언어 추가 방법"}, {"role": "assistant", "content": "설정 > 일반 > 키보드 > 키보드 추가에서 원하는 언어를 선택하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 SIM 카드 교체 방법"}, {"role": "assistant", "content": "아이폰 측면의 SIM 트레이를 핀으로 열어 교체할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "자동 밝기 설정"}, {"role": "assistant", "content": "설정 > 손쉬운 사용 > 디스플레이 및 텍스트 크기 > 자동 밝기에서 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱 숨기는 방법"}, {"role": "assistant", "content": "홈 화면에서 앱을 길게 눌러 '홈 화면에서 제거'를 선택하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "화면 회전이 안 돼요."}, {"role": "assistant", "content": "제어 센터에서 화면 회전 잠금이 활성화되어 있는지 확인하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 캘린더 동기화 방법"}, {"role": "assistant", "content": "설정 > Apple ID > iCloud에서 캘린더 동기화를 활성화하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iCloud 용량 늘리는 방법"}, {"role": "assistant", "content": "설정 > Apple ID > iCloud > 저장 공간 관리에서 용량을 추가 구매할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱 알림 설정"}, {"role": "assistant", "content": "설정 > 알림에서 각 앱의 알림을 개별적으로 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "음성 명령으로 전화 거는 방법"}, {"role": "assistant", "content": "Siri를 이용해 음성 명령으로 전화를 걸 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 긴급 연락처 등록 방법"}, {"role": "assistant", "content": "건강 앱에서 의료 정보에 긴급 연락처를 등록할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 라이브 포토 끄는 방법"}, {"role": "assistant", "content": "카메라 앱에서 라이브 포토 아이콘을 눌러 끄거나 켤 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱 내 결제 오류 해결 방법"}, {"role": "assistant", "content": "앱스토어 결제 정보를 확인하고, 문제가 지속되면 Apple 지원에 문의하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "통화 중 녹음 가능한가요?"}, {"role": "assistant", "content": "아이폰 기본 기능으로는 통화 중 녹음이 지원되지 않습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 사진 자동 백업 설정"}, {"role": "assistant", "content": "설정 > Apple ID > iCloud > 사진에서 자동 백업을 활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "소프트웨어 자동 업데이트 끄는 방법"}, {"role": "assistant", "content": "설정 > 일반 > 소프트웨어 업데이트 > 자동 업데이트에서 끌 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 화면 확대 기능 사용법"}, {"role": "assistant", "content": "설정 > 손쉬운 사용 > 확대/축소에서 기능을 활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "문자 메시지 자동 삭제 설정"}, {"role": "assistant", "content": "설정 > 메시지 > 메시지 보관 기간에서 자동 삭제를 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱 강제 종료 방법"}, {"role": "assistant", "content": "홈 버튼이 없는 경우 화면 하단에서 위로 스와이프하여 앱을 종료할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "스크린샷 저장 위치"}, {"role": "assistant", "content": "스크린샷은 사진 앱의 '스크린샷' 앨범에 저장됩니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 데이터 절약 모드 설정"}, {"role": "assistant", "content": "설정 > 셀룰러 > 셀룰러 데이터 옵션 > 데이터 절약 모드에서 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "문자 수신 차단 방법"}, {"role": "assistant", "content": "설정 > 메시지 > 연락처 차단에서 차단할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 VPN 설정 방법"}, {"role": "assistant", "content": "설정 > 일반 > VPN에서 새 VPN을 추가할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iCloud 로그아웃 방법"}, {"role": "assistant", "content": "설정 > Apple ID에서 로그아웃할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 메일 계정 추가 방법"}, {"role": "assistant", "content": "설정 > 메일 > 계정 추가에서 새로운 메일 계정을 등록할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "NFC 기능 사용법"}, {"role": "assistant", "content": "지원되는 모델에서 설정 > 일반 > NFC에서 사용할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 문자 미리보기 끄는 방법"}, {"role": "assistant", "content": "설정 > 알림 > 메시지 > 미리보기 표시에서 끌 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 숨기는 방법"}, {"role": "assistant", "content": "사진 앱에서 사진을 선택한 뒤, 공유 버튼 > 숨기기를 선택하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱스토어 결제 수단 변경"}, {"role": "assistant", "content": "설정 > Apple ID > 결제 및 배송에서 결제 수단을 변경할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱 다운로드가 느릴 때 대처법"}, {"role": "assistant", "content": "네트워크 속도를 확인하고, 필요 시 Wi-Fi를 변경하거나 재시작하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 소리 안날 때 해결 방법"}, {"role": "assistant", "content": "음량, 무음 스위치, 방해금지 모드 여부를 확인하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 자동 삭제 설정"}, {"role": "assistant", "content": "설정 > 사진 > 최근 삭제 항목에서 자동 삭제 기간을 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 문자 대화 백업 방법"}, {"role": "assistant", "content": "iCloud 백업을 통해 문자 대화를 백업할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱 업데이트 알림 끄는 방법"}, {"role": "assistant", "content": "설정 > 알림 > 앱스토어에서 알림을 끌 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 화면 시간 제한 설정"}, {"role": "assistant", "content": "설정 > 스크린타임 > 앱 제한에서 시간 제한을 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 앨범 공유 방법"}, {"role": "assistant", "content": "사진 앱에서 공유 앨범을 만들어 친구와 공유할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱스토어 국가 변경"}, {"role": "assistant", "content": "설정 > Apple ID > 미디어 및 구매 > 국가/지역 변경에서 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "문자 메시지 읽음 표시 끄는 방법"}, {"role": "assistant", "content": "설정 > 메시지 > 읽음 확인 보내기에서 끌 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 Wi-Fi 비밀번호 확인 방법"}, {"role": "assistant", "content": "설정 > Wi-Fi > 연결된 네트워크에서 비밀번호를 확인할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱스토어 자동 결제 해지 방법"}, {"role": "assistant", "content": "설정 > Apple ID > 구독에서 자동 결제를 해지할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 데이터 사용량 확인"}, {"role": "assistant", "content": "설정 > 셀룰러 > 셀룰러 데이터 사용량에서 확인할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱스토어 로그아웃 방법"}, {"role": "assistant", "content": "설정 > Apple ID > 미디어 및 구매 > 로그아웃을 선택하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 화면 자동 잠금 시간 변경"}, {"role": "assistant", "content": "설정 > 디스플레이 및 밝기 > 자동 잠금에서 시간 변경이 가능합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 HEIC 변환 방법"}, {"role": "assistant", "content": "설정 > 카메라 > 포맷에서 JPEG로 변경하거나, 사진을 공유할 때 자동 변환됩니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱스토어 다운 오류 해결"}, {"role": "assistant", "content": "네트워크 상태와 저장 공간을 확인하고, 문제가 지속되면 재시작하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "사진 날짜 변경 방법"}, {"role": "assistant", "content": "사진 앱에서 사진을 선택한 뒤, 정보(i) 버튼을 눌러 날짜를 변경할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iPhone에서 앱스토어 다운로드 제한 해제"}, {"role": "assistant", "content": "설정 > 셀룰러 > 앱 다운로드에서 제한을 해제할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 배터리 교체 시기가 궁금해요."}, {"role": "assistant", "content": "설정 > 배터리 > 배터리 성능 상태에서 '서비스' 메시지가 표시되면 교체를 권장합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "배터리 수명을 늘리려면 어떻게 해야 하나요?"}, {"role": "assistant", "content": "불필요한 앱을 종료하고, 저전력 모드를 자주 활용하면 배터리 수명을 연장할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰이 자주 꺼져서 불편해요. 원인이 뭘까요?"}, {"role": "assistant", "content": "배터리 노후, 소프트웨어 오류, 충격 등 다양한 원인이 있을 수 있습니다. 최신 iOS로 업데이트하거나, 서비스 센터 점검을 권장합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iOS 최신 버전으로 업그레이드하는 방법 알려주세요."}, {"role": "assistant", "content": "Wi-Fi에 연결 후 설정 > 일반 > 소프트웨어 업데이트에서 최신 iOS를 설치할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 액정이 깨졌는데 수리비가 얼마나 드나요?"}, {"role": "assistant", "content": "기종에 따라 다르며, 애플 공식 서비스 센터에서 정확한 견적을 안내받으실 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰 데이터 안전하게 저장하려면 어떻게 해야 하나요?"}, {"role": "assistant", "content": "iCloud 백업 또는 컴퓨터에 iTunes로 백업하면 데이터를 안전하게 보관할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱을 완전히 삭제하려면 어떻게 해야 하나요?"}, {"role": "assistant", "content": "앱 아이콘을 길게 눌러 '앱 삭제'를 선택하면 완전히 제거됩니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "실수로 지운 사진을 복구할 수 있나요?"}, {"role": "assistant", "content": "사진 앱의 '최근 삭제된 항목'에서 30일 이내 사진을 복구할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "잠금 비밀번호를 까먹었어요. 어떻게 해야 하나요?"}, {"role": "assistant", "content": "복구 모드에서 아이폰을 초기화해야 하며, 백업이 있다면 데이터 복원이 가능합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "와이파이에 연결이 안 될 때 어떻게 해야 하나요?"}, {"role": "assistant", "content": "네트워크 설정을 재설정하거나, 라우터를 껐다 켜보세요. 그래도 안 되면 기기를 재시동해 보세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "문자 메시지를 복원하고 싶어요."}, {"role": "assistant", "content": "iCloud 또는 iTunes 백업에서 복원하면 메시지도 함께 복원됩니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "충전이 안 될 때 점검할 부분이 궁금해요."}, {"role": "assistant", "content": "충전 케이블, 어댑터, 충전 포트에 이물질이 없는지 확인하세요. 이상이 없으면 공식 서비스 센터를 방문하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "블루투스 연결이 불안정해요."}, {"role": "assistant", "content": "기기 간 거리를 좁히고, 블루투스 설정을 껐다 켜거나 네트워크 설정을 재설정해 보세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "벨소리 바꾸는 법 알려주세요."}, {"role": "assistant", "content": "설정 > 사운드 및 햅틱 > 벨소리에서 원하는 소리로 변경할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "알람이 울리지 않아요. 해결 방법 있나요?"}, {"role": "assistant", "content": "알람, 음량, 무음 모드, 방해금지 모드 설정을 확인해 주세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰으로 통화 녹음이 가능한가요?"}, {"role": "assistant", "content": "아이폰은 기본적으로 통화 녹음을 지원하지 않습니다. 관련 앱을 별도로 설치해야 합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "스팸 전화 차단 기능이 있나요?"}, {"role": "assistant", "content": "설정 > 전화 > 발신자 차단 및 신원 확인에서 스팸 전화를 차단할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "위치 서비스 켜는 법 좀 알려주세요."}, {"role": "assistant", "content": "설정 > 개인 정보 보호 및 보안 > 위치 서비스에서 활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "핫스팟을 켜는 방법이 궁금해요."}, {"role": "assistant", "content": "설정 > 셀룰러 > 개인용 핫스팟에서 핫스팟을 켤 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "스크린샷 찍는 방법 알려주세요."}, {"role": "assistant", "content": "사이드 버튼과 볼륨 업 버튼을 동시에 누르면 스크린샷이 저장됩니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "화면 녹화 기능은 어디서 켜나요?"}, {"role": "assistant", "content": "설정 > 제어 센터에서 '화면 기록'을 추가한 후, 제어 센터에서 녹화 버튼을 누르세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱이 자꾸 꺼지는 이유가 뭔가요?"}, {"role": "assistant", "content": "앱이 최신 버전인지 확인하고, iOS도 업데이트해 보세요. 그래도 문제가 있으면 앱을 삭제 후 재설치하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "저장 공간이 부족할 때 어떻게 해야 하나요?"}, {"role": "assistant", "content": "불필요한 파일, 앱, 사진을 삭제하거나 iCloud 저장 공간을 구매해 보세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "음성 메모를 복원할 수 있나요?"}, {"role": "assistant", "content": "음성 메모 앱의 '최근 삭제된 항목'에서 복구할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "연락처를 새 아이폰으로 옮기고 싶어요."}, {"role": "assistant", "content": "iCloud 동기화나, SIM 카드, 또는 타사 앱을 통해 연락처를 이전할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "화면 밝기 조절은 어디서 하나요?"}, {"role": "assistant", "content": "설정 > 디스플레이 및 밝기에서 밝기를 조절할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "다크 모드로 바꾸고 싶어요."}, {"role": "assistant", "content": "설정 > 디스플레이 및 밝기에서 다크 모드를 선택하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "Face ID를 다시 등록하려면 어떻게 해야 하나요?"}, {"role": "assistant", "content": "설정 > Face ID 및 암호에서 Face ID 재설정 후 다시 등록하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "Siri를 켜고 끄는 방법이 궁금해요."}, {"role": "assistant", "content": "설정 > Siri 및 검색에서 Siri를 활성화하거나 비활성화할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱을 자동으로 업데이트하려면 어떻게 하나요?"}, {"role": "assistant", "content": "설정 > 앱 스토어 > 앱 업데이트에서 자동 업데이트를 켤 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "통화 음질이 안 좋아요. 어떻게 해야 하나요?"}, {"role": "assistant", "content": "신호가 약한 곳에서는 통화 품질이 저하될 수 있습니다. 위치를 바꿔보거나, 문제가 계속되면 통신사에 문의하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "아이폰을 강제로 재시동하려면 어떻게 해야 하나요?"}, {"role": "assistant", "content": "볼륨 업, 볼륨 다운 버튼을 차례로 누른 후, 사이드 버튼을 길게 눌러 재시동하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "방해금지 모드는 어떻게 설정하나요?"}, {"role": "assistant", "content": "설정 > 집중 모드 > 방해금지 모드에서 원하는 시간과 조건을 설정할 수 있습니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "분실 모드를 사용하려면 어떻게 해야 하나요?"}, {"role": "assistant", "content": "나의 찾기 앱에서 내 기기를 선택하고 분실 모드를 활성화하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "앱 설치가 안 될 때 해결법이 있나요?"}, {"role": "assistant", "content": "저장 공간, 네트워크, Apple ID 로그인을 확인하고, 문제가 계속되면 기기를 재시동하세요."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "iOS를 예전 버전으로 되돌릴 수 있나요?"}, {"role": "assistant", "content": "정상적인 방법으로는 다운그레이드가 불가능합니다."}]}
{"messages":[{"role": "system", "content": "당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."}, {"role": "user", "content": "문자 수신이 안 될 때 어떻게 해야 하나요?"}, {"role": "assistant", "content": "메시지 설정, 네트워크 상태, 통신사 서비스 상태를 확인하세요."}]}
작업해준 Perplexity에게 심심한 감사의 인사를...
-- Jsonl 파일 다운로드 --
전체 코드는 이렇고...
lora_config = LoraConfig(
r=32, # LoRA의 랭크. 값이 작을수록 학습 파라미터가 적고 빠름
lora_alpha=64, # LoRA 스케일링 인자. r 값과 함께 LoRA 가중치의 스케일을 조절한다.
target_modules=["q_proj", "v_proj", "k_proj", "out_proj", "gate_proj", "up_proj", "down_proj"], # LoRA를 적용할 모델의 특정 레이어(여기서는 쿼리, 값 프로젝션)를 지정한다.
lora_dropout=0.05, # LoRA 레이어에 적용할 드롭아웃 비율
bias="none", # 바이어스 파라미터에 LoRA를 적용할지 여부 ('none'은 적용 안 함).
task_type="CAUSAL_LM" # 미세 조정할 작업 유형을 인과 언어 모델링으로 설정한다.
)
r 값이 크면 LoRA가 근사하는 변화가 더 복잡해지고, 표현력이 커진다.
r 값이 작으면 학습할 파라미터 수가 적어져 빠르고 메모리 효율적이다.
r=4~64 사이에서 많이 조절한다.
32는 중간 정도, 적당히 표현력과 효율성 균형 맞추는 값이다.
학습되는 LoRA 가중치 행렬 A * B에 곱해지는 스케일링 값.
모델 업데이트 강도를 조절하는 역할
값이 크면 업데이트가 더 크게 반영 → 빠른 적응
값이 작으면 업데이트가 작게 반영 → 안정적, 느린 적응
lora_alpha는 r과 비슷하거나 조금 더 크게 잡음 (예: r=32면 lora_alpha=32~64)
너무 크면 학습 불안정 초래할 수 있으니 주의
하이퍼파라미터 | 효과 | 권장값 예시 | 트레이드오프 |
---|---|---|---|
r | LoRA 근사 저랭크 차원, 파라미터 양과 표현력 결정 | 4 ~ 64 (보통 16~32) | 크면 좋은 성능, 느리고 메모리 많이 먹음 |
lora_alpha | LoRA 업데이트 스케일링 | r과 비슷하거나 2배 정도 (예: r=32, alpha=64) | 너무 크면 불안정, 너무 작으면 느린 수렴 |
적용할 레이어를 지정.
["q_proj", "v_proj"]
>>>>>>
["q_proj", "v_proj", "k_proj", "out_proj", "gate_proj", "up_proj", "down_proj"]
모델의 적응 파라미터에 노이즈 추가
학습 시 LoRA가 업데이트하는 작은 가중치 매트릭스 일부를 무작위로 끄거나 희석해서, 모델이 특정 경로에 너무 의존하지 않도록 한다.
과적합 방지
LoRA 파라미터가 학습 데이터에 너무 과하게 맞춰지는 걸 막아주고, 더 일반화된 적응이 가능하게 한다.
학습 안정성 증가
Dropout의 랜덤성으로 인해 모델이 다양한 표현을 배우고, 특정 특징에 치중하지 않게 도와줌.
배치를 여러 번 연속해서 처리한 뒤, 그동안 계산한 그래디언트(기울기)를 누적해서 한꺼번에 가중치를 업데이트하는 방법이다.
이 설정대로 하면 4 * 4 = 16 샘플을 처리한 뒤 가중치를 업데이트한다.
모델의 가중치를 업데이트할 때, 기울기(gradient)에 곱해져서 얼마나 크게 가중치를 조정할지 결정하는 값
학습률은 모델이 얼마나 빠르게 학습할지 조절하는 중요한 하이퍼파라미터이다.
너무 크면 학습이 불안정해지고, 너무 작으면 학습이 느려질 수 있다.
일반적으로 1e-4 ~ 1e-5 사이의 값을 사용한다.
학습률 크기 | 영향 및 특징 |
---|---|
너무 작으면 | 학습 속도가 느리고, 최적값에 도달하는 데 오래 걸림. 때로는 지역 최적점에 빠질 수 있음. |
적절한 중간 값 | 빠르고 안정적으로 최적점에 수렴. |
너무 크면 | 학습이 불안정해지고 발산하거나 손실이 튀는 현상이 발생. 최적점 근처에서 계속 흔들릴 수 있음. |
총 소요시간은 12분
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model
import torch
from datasets import load_dataset
from transformers import TrainingArguments, Trainer, DataCollatorForLanguageModeling
from dotenv import load_dotenv
import os
import gc
output_dir = "./TinyLlama/TinyLlama-1.1B-Chat-v1.0-iphone"
model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
jsonl_path = "./iphone_600.jsonl"
# .env 파일에서 Hugging Face API 키를 로드
load_dotenv()
hf_token = os.getenv("HUGGINGFACE_API_KEY")
# 사전 학습된 인과 언어 모델을 float32 타입으로 CPU에 로드
# accelerate launch 로 실행할거라서 device_map 사용 안함
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
# device_map="auto",
token=hf_token,
trust_remote_code=True
)
# 모델에 맞는 토크나이저를 로드
tokenizer = AutoTokenizer.from_pretrained(model_name, token=hf_token, trust_remote_code=True)
# 토크나이저에 패딩 토큰이 없으면 EOS(문장 끝) 토큰을 사용한다.
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
# LoRA(Low-Rank Adaptation) 설정
lora_config = LoraConfig(
r=32, # LoRA의 랭크. 값이 작을수록 학습 파라미터가 적고 빠름
lora_alpha=64, # LoRA 스케일링 인자. r 값과 함께 LoRA 가중치의 스케일을 조절한다.
target_modules=["q_proj", "v_proj", "k_proj", "out_proj", "gate_proj", "up_proj", "down_proj"], # LoRA를 적용할 모델의 특정 레이어(여기서는 쿼리, 값 프로젝션)를 지정한다.
lora_dropout=0.05, # LoRA 레이어에 적용할 드롭아웃 비율
bias="none", # 바이어스 파라미터에 LoRA를 적용할지 여부 ('none'은 적용 안 함).
task_type="CAUSAL_LM" # 미세 조정할 작업 유형을 인과 언어 모델링으로 설정한다.
)
# 정의된 LoRA 설정을 모델에 적용하여 PEFT 모델을 만듬
model = get_peft_model(model, lora_config)
# 학습 가능한 파라미터 수를 출력
model.print_trainable_parameters()
# JSON 형식의 데이터셋을 로드
dataset = load_dataset("json", data_files={"train": jsonl_path})["train"]
# 챗 메시지 데이터를 모델 입력 형식으로 전처리하는 함수
def preprocess_chat(example):
messages = example["messages"]
# 챗 템플릿을 사용하여 메시지를 문자열로 변환하고 토큰화
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False)
tokenized = tokenizer(prompt, padding="max_length", truncation=True, max_length=512)
tokenized["labels"] = tokenized["input_ids"].copy()
return tokenized
# 데이터셋의 각 예제에 전처리 함수를 적용
dataset = dataset.map(preprocess_chat)
# 모델 학습에 필요한 인자(TrainingArguments)를 설정
training_args = TrainingArguments(
output_dir=output_dir, # 학습 중 생성되는 체크포인트 및 로그 파일의 저장 경로
per_device_train_batch_size=4, # 각 장치(CPU/GPU)당 학습에 사용될 배치 크기
gradient_accumulation_steps=4, # 기울기 업데이트를 하기 전까지 기울기를 축적할 단계 수. 늘리면 배치 크기 커짐.
num_train_epochs=5, # 전체 학습 데이터셋을 몇 번 반복하여 학습할지 지정하는 에포크 수
learning_rate=1e-4, # 모델 학습 시 사용될 학습률
save_total_limit=2, # 저장될 모델 체크포인트의 최대 개수. 이 개수를 초과하면 오래된 체크포인트가 삭제됨
logging_steps=5, # 학습 진행 상황(손실 등)을 로그로 기록할 단계 간격
bf16=False,
fp16=True,
report_to="none" # 학습 진행 상황을 보고할 외부 도구(예: TensorBoard, Weights & Biases)
)
# 언어 모델링을 위한 데이터 콜레이터를 설정
data_collator = DataCollatorForLanguageModeling(
tokenizer=tokenizer,
mlm=False
)
# Trainer 객체를 초기화
trainer = Trainer(
model=model,
train_dataset=dataset,
args=training_args,
data_collator=data_collator
)
# 모델 학습을 시작
trainer.train()
# 학습된 모델과 토크나이저를 지정된 경로에 저장
trainer.save_model(output_dir)
tokenizer.save_pretrained(output_dir)
grad_norm 이 초반에 급격하게 떨어졌다가 조금씩 올라가긴 했는데 중간에 폭주 없이 완만하게 잘(?) 되었다
{"messages":[{"role":"system","content":"당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."},{"role":"user","content":"아이폰 문자 메시지 복구 방법이 있나요?"},{"role":"assistant","content":"iCloud 백업에서 복구할 수 있습니다."}]}
{"messages":[{"role":"system","content":"당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."},{"role":"user","content":"아이폰 핫스팟 설정 방법 알려주세요."},{"role":"assistant","content":"설정 > 셀룰러 > 개인용 핫스팟에서 설정할 수 있습니다."}]}
{"messages":[{"role":"system","content":"당신은 아이폰 전문가 챗봇입니다. 사용자의 질문에 답변해 주세요."},{"role":"user","content":"화면 캡처하는 방법 알려주세요."},{"role":"assistant","content":"사이드 버튼과 볼륨 업 버튼을 동시에 누르면 캡처됩니다."}]}
드디어 Take #3 에 와서야 끝낼 수 있었다.
로그를 저장하진 못했지만 loss 를 0.083까지 떨어트리고, grad_norm 값을 끝까지 1.5~1.7로 유지하였다.
Take #4 ㄱㄱ?