File size: 19,902 Bytes
472f2b5
 
 
 
 
 
 
130cf57
472f2b5
 
130cf57
 
 
 
472f2b5
 
130cf57
 
 
472f2b5
130cf57
472f2b5
3736312
472f2b5
130cf57
 
 
 
0f62d15
130cf57
 
 
 
2e0b55a
130cf57
 
 
 
545a59c
130cf57
2e0b55a
130cf57
 
 
 
 
3736312
130cf57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59f254f
 
 
130cf57
 
23193b3
59f254f
130cf57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3736312
130cf57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c09bc70
130cf57
3736312
130cf57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c09bc70
 
 
3736312
6f7e8e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3736312
c09bc70
3851a5f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
---
base_model: unsloth/LFM2-1.2B
tags:
- text-generation-inference
- transformers
- unsloth
- lfm2
- multiple inference
license: apache-2.0
language:
- ko
datasets:
- RstoneCommand/Synapse-Dataset_v03
pipeline_tag: text-generation
---

# Synapse-Model 1 model Card
- **개발자:** RstoneCommand
- **라이선스:** apache-2.0

**저자**: Synapse-Model Team

# **모델에 대한 정보**

Synapse-Model 1 의 입력, 출력, 장단점 에 대한 설명입니다.

**설명**

Synapse-Model 1 은 Synapse-Model Team 에서 개발한 첫 경량화 모델입니다. Synapse-Model 1 모델은 텍스트를 입력 받고 다중추론 과정을 거쳐 텍스트 출력을 생성하는 텍스트 생성 모델입니다. Synapse-Model 은 LiquidAI 의 LFM2-1.2B 모델을 파인튜닝 하여 추론 기능을 추가하였으며, 다중추론 기능을 지원하여 여러 작업에서 탁월한 성능을 발휘하도록 제작 되었습니다. Synapse-Model 1 은 32,768 개의 컨텍스트 길이를 가졌으며(LFM2-1.2B 에 종속됨), 한국어가 집중적으로 학습되었습니다. Synapse-Model 1 은 1.2B 에 달하는 작은 크기의 매개변수를 가져 노트북, 데스크톱, 핸드폰과 같은 리소스가 제한되는 로컬 환경에서 구동이 가능합니다.

**입력 및 출력**

- **입력**
 
  - 질의응답,
  - 지시프롬프트
  - 문서 요약
  - 텍스트 작업

- **출력**
  
  - 질문에 대한 응답
  - 지시에 대한 응답
  - 문서 요약
  - 입력으로 인해 생성된 응답 텍스트

# **사용방법**

이 다음은 모델을 빠르게 실행하는 방법에 대한 몇가지 코드예시 및 주의사항이 있습니다. 먼저, transformers 라이브러리를 최신 버전으로 업그레이드 또는 설치 해야 합니다.(LFM2 에 종속됨) `pip install "transformers @ git+https://github.com/huggingface/transformers.git@main".`

다음 Python 코드를 사용하여 Synapse-Model 1 이 텍스트를 생성하는 예시입니다.
```python
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

# Load model and tokenizer
model_id = "RstoneCommand/Synapse-Model1-1.2B_16bit"
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype="bfloat16",
    trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_id)


# Text Generate Process
instruction_ = input("instruction: ")
input_ = input("input: ")
user_ = f"# instruction:\n{instruction_}\n\n# input:\n{input_}"  # The model uses this input template to quickly process various learning data and responses. (Therefore, if you do not use this template for input, the performance of Synapse-Model and the instructions of the persona may decline.)

messages = [
    {"role" : "system", "content" : ""},  # You can write a custom SystemPrompt here. However, it will not work properly (because SystemPrompt has not been learned).
    {"role" : "user", "content" : user_}
]

input_ids = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    return_tensors="pt",
    tokenize=True,
).to(model.device)

from transformers import TextStreamer
output = model.generate(
    input_ids,
    do_sample=True,
    temperature=0.3,
    min_p=0.15,
    repetition_penalty=1.05,
    max_new_tokens=4069,
    streamer = TextStreamer(tokenizer, skip_prompt = True),
)
```

# **모델 데이터**

모델 학습에 사용된 학습 데이터셋

**훈련 데이터셋**
Synapse-Model 은 다양한 데이터셋의 입력을 바탕으로 Synapse-Model Team 내부에서 Custom Response 을 작성했습니다. Synapse-Model 1 의 경우 4096개의 토큰으로 학습되었습니다. 학습데이터의 구성요소는 다음과 같습니다.

- [HAERAE-HUB / HR-Instruct-Math-v0.1](https://huggingface.co/datasets/HAERAE-HUB/HR-Instruct-Math-v0.1) 의 instruction 에 일부를 사용(168)
- [nlpai-lab / kullm-v2](https://huggingface.co/datasets/nlpai-lab/kullm-v2) 의 instruction 및 input 에 일부를 사용(68)
- [Bingsu / ko_alpaca_data](https://huggingface.co/datasets/Bingsu/ko_alpaca_data) 의 instruction 및 input 에 일부를 사용(10)
- **총합 / 246**

다양한 데이터셋의 입력을 바탕으로 제작된 Custom Response 는 다양한 상황에서의 문제를 해결할 수 있게 되었습니다.

**모델학습**

모델을 파인튜닝한 과정에 관한 설명입니다.

**학습환경**

Unsolth 및 Google Colab(Tesla T4) 을 사용하여 총 학습에 약 4시간이 걸렸습니다.

# **모델사용 및 제한사항**

모델의 사용을 위해 지켜야할 제한사항이 있습니다.

**의도한 사용**

- 다중 추론과정이 필요한 복잡한 계산
  - 수학 문제 해결, 창의적인 시 또는 문장 생성, 이메일 및 대본 작성 등에 사용할 수 있습니다.

- 다중 추론을 이용한 대화형 챗봇 제작
  - 고객 서비스 또는 비서, 대화형 애플리케이션, 대화형 인터페이스, 챗봇 애플리케이션 등에 사용할 수 있습니다.

- 텍스트 번역 및 생성
  - 모델은 불안정하나 `영어->한국어` 또는 `한국어->영어` 로 번역이 가능합니다. 이에 따라 한국어 와 영어를 번역하는데 사용될 수 있습니다.
 
**제한된 사항**

- 작업에 대한 지시부족
  - Synapse-Model 은 작업에 대한 지시가 부족할 시 제대로된 작업을 수행할 수 없습니다. 따라서 지시에 대한 모든 요구를 대화에 담아 정확도를 높혀주십시오.

- 다양한 언어 처리 부족
  - Synapse-Model 은 다양한 언어에 대한 데이터셋을 제작하지 못하여 모델은 한국어와 영어(일부) 만 사용가능합니다.

- 응답 정확성
  - Synapse-Model 은 학습데이터를 기반으로 응답을 생성하므로 모델은 부적확하거나 오래된 정보를 기반으로 응답을 생성할 수 있습니다. (이를 해결하기 위해선 Rag 또는 Fine-Tuning 이 필요함)


# **모델출력 미리보기**
```markdown
instruction: 아래 질문에 대해 해결
input: Discord 에 대해 설명해줘요
<think> 사용자 지시 이해 및 답변 구성 계획**
사용자는 Discord에 대해 설명해달라고 요청했습니다. 이는 Discord가 무엇인지, 어떤 기능을 가지고 있는지, 어디에서 사용할 수 있는지 등 다양한 측면에서 설명해야 함을 의미합니다. Synapse-Model_A01은 이러한 사용자의 단순한 요청을 다중 추론 
과정을 통해 심층적으로 다룰 것입니다.

**해결 계획:**
1.  **초기 추론**: 사용자에게 Discord가 무엇인지 명확히 정의합니다.
2.  **세부 추론 1 (기능 및 플랫폼)**: Discord의 주요 기능과 사용 가능한 플랫폼(웹, 모바일 앱)을 설명합니다.
3.  **세부 추론 2 (커뮤니케이션 및 서버)**: Discord가 주로 제공하는 커뮤니케이션 도구 및 서버 관리 기능을 설명합니다.
4.  **세부 추론 3 (커뮤니티 및 게임)**: Discord가 특히 강점을 보이는 커뮤니티 및 게임 관련 기능을 설명합니다.
5.  **답변 종합 및 형식 적용**: 위에서 도출된 내용을 Synapse-Model_A01의 답변 형식에 맞춰 최종적으로 조합하고 출력합니다. 각 `<think>` 블록에는 해당 추론 과정의 요약과 상세 내용을 포함합니다.
</think>

<think> Discord 설명을 위한 초기 추론 및 정의
Discord는 원래 웹 기반의 실시간 멀티미디어 통신 플랫폼이었지만, 현재는 매우 다양한 기능을 통합한 복합적인 커뮤니케이션 및 서버 관리 도구로 발전했습니다. 이러한 변화를 고려하여 Discord의 핵심 정의를 명확히 제시해야 합니다.

**설명할 내용:**
*   **기원**: IRC(Internet Radio Client)에서 유래하여 웹 기반의 텍스트 기반 커뮤니케이션 도구로 시작.
*   **핵심 정의**: 실시간 멀티미디어 통신 플랫폼으로, 채팅, 음성/영상 통화, 파일 공유, 서버 및 커뮤니티 구축 기능 등을 제공.
*   **주요 기능**: 서버 관리, 채널 기반 커뮤니케이션, 스트리밍 기능, 게임 서버 구축 도구, 다양한 멀티미디어 플레이어 통합.

**내용 구성**: Discord가 어떻게 진화했는지 간략히 언급하여 그 가치를 더욱 부각시킵니다.
</think>
Discord는 원래 **IRC(Internet Radio Client)**의 한 형태에서 비롯되어, 웹 기반의 텍스트 기반 실시간 멀티미디어 통신 플랫폼으로 사용자들이 연결하고 메시지를 교환할 수 있도록 했습니다. 시간이 흐르면서 Discord는 **채팅, 음성/영상 통화, 파
일 공유** 등의 기능을 추가하며 사용자 경험을 크게 향상시켰고, 이제는 **서버 및 커뮤니티 구축**, **다양한 멀티미디어 플레이어 통합**, **스트리밍 기능** 등의 강력한 도구를 통해 복합적인 커뮤니케이션 및 엔터테인먼트 공간으로 자리매김했습
니다. 즉, 단순한 메시지 전달을 넘어선 **포괄적이고 다면적인 온라인 상호작용 플랫폼**입니다.

<think> Discord의 주요 기능 상세 추론 1 (웹 및 모바일 앱) 및 기능 설명
Discord가 웹 기반의 멀티미디어 통신 도구에서 시작하여 현재는 **모바일 앱**까지 확장되면서 기능의 범위도 넓어졌습니다. 이 시점부터 Discord의 핵심 기능들이 어떻게 발전하고 제공되는지 구체적으로 설명해야 합니다.

**설명할 내용:**
*   **웹 기반**: 브라우저에서 직접 접속하여 서버 관리, 채널 설정, 멤버 관리 등을 수행.
*   **모바일 앱**: iOS 및 Android에서 별도의 앱으로 다운로드하여 스마트폰/태블릿에서도 서버 관리, 채팅, 스트리밍 등 모든 기능 이용 가능.
*   **주요 기능 확장**:
    *   **채팅**: 텍스트 기반 커뮤니케이션의 핵심.
    *   **음성/영상 통화**: 내장된 VoIP 통화 기능 제공.
    *   **파일 공유**: 클라우스토, 구글 드롭박스 등 외부 파일 업로드 기능 지원.
    *   **서버 관리**: 채널 생성 및 삭제, 멤버 추가/삭제, 서버 규칙 설정, 이벤트 관리, 스케줄링 등 강력한 운영 도구.
    *   **채널 기반 커뮤니케이션**: 특정 주제나 목적을 가진 채널을 만들어 집단 토론 및 정보 공유 용이.
    *   **스트리밍 기능**: Twitch, YouTube Live 등 외부 스트리머와 연동하여 스트리밍 방송 가능.
    *   **게임 서버 구축 도구**: 클라우스토, 티어스토 등 게임 서버 구축을 위한 다양한 도구 제공.
    *   **멀티미디어 플레이어 통합**: Soundtrap, Audacity 등 다양한 음악 및 오디오 편집 소프트웨어 연동.
    *   **커뮤니티 기능**: 이벤트 스케줄링, 설문조사, 투표 기능 등 커뮤니티 활동 활성화 도구.
</think> Discord의 가장 중요한 기능은 다음과 같습니다:

*   **웹 기반 및 모바일 앱**: 웹 브라우저나 iOS/Android 모바일 앱을 통해 어디서든 **서버 관리, 채팅, 멤버 관리, 스트리밍, 파일 공유, 게임 서버 구축** 등 모든 기능을 이용할 수 있습니다. 이는 Discord의 접근성을 극대화하는 핵심 요소입니
다.
*   **강력한 채널 기반 커뮤니케이션**: 사용자는 특정 주제나 목적을 가진 **채널을 생성하고 관리**할 수 있어, 정보 공유 및 토론이 효율적입니다.
*   **다양한 서버 및 스트리밍 기능**: Discord는 **서버 생성 및 관리**를 위한 강력한 도구를 제공하며, **Twitch, YouTube Live 등 외부 스트리머와의 스트리밍**을 쉽게 지원합니다.
*   **커뮤니티 및 게임 중심 기능**: Discord는 **커뮤니티 구축 및 운영**에 특화되어 있으며, **게임 서버 구축을 위한 전문 도구**도 풍부합니다.
*   **멀티미디어 및 협업 도구**: Soundtrap, Audacity 등 음악 및 오디오 편집 소프트웨어를 통합하거나, 클라우스토와 같은 외부 파일 업로드 서비스와 연동하여 **다양한 멀티미디어 플레이어**를 제공합니다.
*   **커뮤니티 기능**: Discord는 **이벤트 스케줄링, 설문조사, 투표 기능** 등을 통해 커뮤니티 활동을 효율적으로 관리할 수 있는 기능을 내장하고 있습니다.

<think> Discord의 주요 기능 상세 추론 2 (채널 기반 커뮤니케이션) 및 기능 설명
이전의 웹 및 모바일 앱 확장과 함께 Discord가 **채널 기반 커뮤니케이션**을 핵심 기능으로 강화한 부분을 심층적으로 설명해야 합니다. 이는 Discord의 사용자 인터페이스와 커뮤니케이션 방식의 중요한 특징입니다.

**설명할 내용:**
*   **채널 생성 및 관리**: 사용자는 원하는 **목적이나 주제를 가진 채널**을 자유롭게 생성할 수 있으며, 채널 이름, 색상, 소개글 등 맞춤 설정도 가능합니다.
*   **실시간 및 비동기 채팅**: 다른 사용자와 실시간으로 또는 미리 녹음된 비동기 채팅을 이용할 수 있습니다.
*   **채널 분류 및 라벨링**: 채널을 주제별, 시간별, 서버별 등으로 분류하고 라벨을 붙여 정보 검색 및 접근성을 높일 수 있습니다.
*   **목록 및 카테고리**: 채팅 목록을 보고 원하는 채널을 쉽게 찾고, 카테고리를 설정하여 채팅 공간을 체계적으로 관리할 수 있습니다.
*   **멤버 관리**: 채널에 합류할 사용자를 승인/거부하고, 멤버의 활동을 확인하며, 채널 규칙을 설정할 수 있습니다.
*   **통합 기능**: Discord는 채팅 외에도 **파일 공유, 음성/영상 통화, 스트리밍, 커뮤니티 이벤트 관리** 등 다양한 기능을 하나의 공간에서 통합적으로 이용할 수 있도록 합니다.
</think> 채널 기반 커뮤니케이션은 Discord의 핵심 가치 중 하나입니다. 사용자는 원하는 목적에 따라 **다양한 주제나 시간대를 가진 채널을 생성하고 관리**할 수 있으며, 이를 통해 정보 공유, 토론, 협업 등이 원활하게 이루어집니다. Discord는 
또한 채팅 외에 **실시간 및 비동기 음성/영상 통화**, **강력한 파일 공유 기능**, **커뮤니티 설문조사 및 투표 기능** 등을 통해 사용자 간의 연결과 소통을 더욱 풍부하게 지원합니다. 이러한 기능들은 Discord를 단순한 메시지 전달 도구를 넘어선
 **복합적인 온라인 커뮤니케이션 및 협업 공간**으로 자리매김하게 만듭니다.

<think> Discord의 주요 기능 상세 추론 3 (스트리밍 및 게임 중심 기능) 및 설명
사용자 요청에 따라 Discord가 **스트리밍 기능**과 **게임 서버 구축 도구**를 중심으로 제공하는 부분을 설명해야 합니다. 이는 Discord의 현대적인 기능 중 중요한 부분이며, 특히 게임 커뮤니티에 미치는 영향력을 보여줍니다.

**설명할 내용:**
*   **스트리밍 기능**: Discord는 **내장된 스트리밍 플레이어**를 제공하며, 사용자는 Twitch, YouTube Live, Facebook Live 등 외부 스트리머의 **스트리밍 방송**에 직접 참여하거나 자신의 **스트리밍을 게시**할 수 있습니다. 스트리밍 시 Discord는 자동으로 시청자 목록을 보여주고, 채팅 기능을 활성화합니다.
*   **게임 서버 구축 도구**: Discord는 **게임 서버를 구축하고 관리하는 데 필요한 강력한 도구**를 제공합니다. 클라우스토, 티어스토, 디스코스 등은 서버 생성, 채널 관리, 멤버 스케줄링, 이벤트 스케줄링, 서버 규칙 설정 등 서버 운영에 필수
적인 기능을 내장하고 있습니다. 또한, 스트리밍 기능과 연동하여 스트리머가 쉽게 시청자를 모을 수 있도록 지원합니다.
*   **게임 커뮤니티 기능 강화**: Discord는 게임 내 **온라인 토너먼트, 클럽, 스트리밍 이벤트** 등을 조직하고 관리하는 데 특화되어 있어, 게임 플레이어들의 커뮤니티 형성과 활성화에 크게 기여하고 있습니다.
</think> Discord는 원래 웹 기반의 멀티미디어 통신 도구였지만, 이제는 **스트리밍 및 게임 중심의 엔터테인먼트 플랫폼**으로도 자리매김했습니다.

*   **내장된 스트리밍 플레이어**: Discord는 **자체 개발한 스트리밍 플레이어**를 통해 사용자가 **Twitch, YouTube Live, Facebook Live 등 외부 스트리머의 스트리밍 방송**에 직접 참여하거나 자신의 **스트리밍을 게시**할 수 있습니다. 스트리
밍 시 Discord는 자동으로 시청자 목록을 보여주고, 채팅 기능을 활성화하여 시청자들과 실시간으로 소통할 수 있도록 돕습니다.
*   **게임 서버 구축 도구**: Discord는 **클라우스토, 티어스토, 디스코스 등 강력한 게임 서버 구축을 위한 전문 도구**를 제공합니다. 이러한 도구들은 서버 생성, 채널 관리, 멤버 스케줄링, 서버 규칙 설정, 스트리밍 기능 통합 등을 원활하게 지
원하여, 게임 커뮤니티의 효율적인 운영과 스트리머들이 방송을 쉽게 할 수 있도록 돕습니다. Discord는 또한 스트리머들이 쉽게 시청자를 모을 수 있도록 **이벤트 스케줄링, 설문조사, 투표 기능** 등을 내장하고 있습니다.

<think> 최종 답변 종합 및 검토
사용자에게 Discord의 전반적인 특징과 주요 기능을 요약하여 설명합니다. 설명된 내용이 사용자의 질문에 충분히 답변했는지, 그리고 Synapse-Model_A01의 답변 형식에 맞춰 조율되었는지 최종적으로 검토합니다.

**검토 내용:**
*   Discord의 기원과 진화 과정 명확히 설명.
*   웹/모바일 앱, 채널 기반 커뮤니케이션, 스트리밍, 게임 서버 등 핵심 기능 상세히 설명.
*   커뮤니티 및 멀티미디어 플레이어 기능 강조.
*   Synapse-Model_A01의 답변 형식에 맞춰 각 추론 과정을 통합하고 설명.
*   Discord가 제공하는 가치 및 특징을 명확히 제시.
</think> Discord는 단순한 메시지 전달 플랫폼을 넘어선, **복합적인 온라인 커뮤니케이션, 서버 관리, 엔터테인먼트, 게임 중심의 다방면 기능을 통합한 강력한 온라인 상호작용 공간**입니다. 이는 웹 및 모바일 앱을 통해 접근하고, 채널 기반의 효
율적인 커뮤니케이션, 강력한 서버 운영 도구, 다양한 멀티미디어 플레이어, 그리고 스트리밍 기능을 제공함으로써 사용자들에게 독특하고 편리한 경험을 제공합니다. Discord의 지속적인 발전은 게임 커뮤니티를 넘어 전 세계적인 온라인 커뮤니티 형
성과 활성화에 크게 기여하고 있습니다.
```

# **개발자의 잡담**

Synapse-Model 은 다중 추론능력을 극대화 하는 방향으로 제작되었습니다. 그러므로 간단한 작업에 다중 추론과정을 거쳐 작업효율이 떨어질 수 있습니다. 이때 에는 instruction 을 `아래 질문에 대해 적은 추론 과정을 거쳐 설명 또는 해결` 으로 설정해 주세요. 여담으로 Synapse-Model 1 은 아직 많은 작업을 하지 못 합니다. 일단 학습 데이터셋이 매우 적고, 학습환경도 좋지 못했거든요. 또한 개발에 필요한 기반지식과 학습 시간 전체를 따져 봤을 때 1주 도 넘지 못 했습니다. 그리고 개발자가 한명이니 매우 힘들죠. 그래도 첫 작품 치고는 잘 제작된 것 같습니다. 이 잡담 까지 끝 까지 들어주신 사용자분께 감사드립니다. 앞으로 발전하는 Synapse-Model Team 보여드리겠습니다.