🚀 Trendyol LLM v4.1.0
Trendyol LLM v4.1.0は、Trendyol LLM base v4.0(Qwen2.5 7Bを130億トークンで継続事前学習したバージョン)をベースとした生成モデルです。これはチャットモデルのリポジトリです。
✨ 主な機能
- 電子商取引に関する知識が向上
- 説明生成
- 属性抽出
- 要約
- ファッションダイアログ
- 商品タグ付け抽出
- カテゴリ検出
- 行動に基づくペルソナ解釈
- RAG
- など
- トルコ語の知識が向上
- 関数呼び出しのサポート(一部完了。次の反復で完了予定)
📦 インストール
このセクションでは、必要な依存関係をインストールする方法について説明します。
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import torch
model_id = "Trendyol/Trendyol-LLM-7B-chat-v4.1.0"
pipe = pipeline(
"text-generation",
model=model_id,
model_kwargs={
"torch_dtype": torch.bfloat16,
"use_cache":True,
"use_flash_attention_2": True
},
device_map='auto',
)
sampling_params = dict(do_sample=True, temperature=0.3, top_k=50, top_p=0.9, repetition_penalty=1.1)
DEFAULT_SYSTEM_PROMPT = "Sen yardımsever bir asistansın ve sana verilen talimatlar doğrultusunda en iyi cevabı üretmeye çalışacaksın."
messages = [
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
{"role": "user", "content": "Türkiye'de kaç il var?"}
]
outputs = pipe(
messages,
max_new_tokens=1024,
return_full_text=False,
**sampling_params
)
print(outputs[0]["generated_text"])
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import torch
model_id = "Trendyol/Trendyol-LLM-7B-chat-v4.1.0"
pipe = pipeline(
"text-generation",
model=model_id,
model_kwargs={
"torch_dtype": torch.bfloat16,
"use_cache":True,
"use_flash_attention_2": True
},
device_map='auto',
)
sampling_params = dict(do_sample=True, temperature=0.3, top_k=50, top_p=0.9, repetition_penalty=1.1)
DEFAULT_SYSTEM_PROMPT = "Sen yardımsever bir asistansın ve sana verilen talimatlar doğrultusunda en iyi cevabı üretmeye çalışacaksın."
messages = [
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
{"role": "user", "content": "Türkiye'de kaç il var?"}
]
outputs = pipe(
messages,
max_new_tokens=1024,
return_full_text=False,
**sampling_params
)
print(outputs[0]["generated_text"])
高度な使用法
tools = [
{
"name": "get_city_count",
"description": "Get current city count of given country.",
"parameters": {
"type": "object",
"properties": {
"country_name": {
"type": "string",
"description": 'The name of the country to get the count for.',
},
},
"required": ["country_name"],
},
},
{
"name": "get_temperature_date",
"description": "Get temperature at a location and date.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": 'The location to get the temperature for, in the format "City, State, Country".',
},
"date": {
"type": "string",
"description": 'The date to get the temperature for, in the format "Year-Month-Day".',
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": 'The unit to return the temperature in. Defaults to "celsius".',
},
},
"required": ["location", "date"],
},
},
]
messages = [
{"role": "system", "content": "Sen, aşağıdaki fonksiyonlara erişimi olan yardımcı bir asistansın. Gerektiğinde bunları kullanabilirsin -"},
{"role": "user", "content": "Türkiye'de kaç il var?"}
]
text = pipe.tokenizer.apply_chat_template(messages, tools=tools, add_generation_prompt=True, tokenize=False)
inputs = pipe.tokenizer(text, return_tensors="pt").to(pipe.model.device)
outputs = pipe.model.generate(**inputs, max_new_tokens=512)
output_text = pipe.tokenizer.batch_decode(outputs)[0][len(text):]
print(output_text)
📚 ドキュメント
制限事項、リスク、バイアス、および倫理的な考慮事項
制限事項と既知のバイアス
- 主な機能とアプリケーション:Trendyol LLMは自己回帰型言語モデルであり、主にテキスト文字列の次のトークンを予測するように設計されています。様々なアプリケーションで使用されることが多いですが、実世界での広範なアプリケーションテストを受けていないことに注意する必要があります。様々なシナリオでの有効性と信頼性はほとんど検証されていません。
- 言語の理解と生成:このモデルは主に標準的な英語とトルコ語で学習されています。スラング、非公式な言語、または他の言語の理解と生成におけるパフォーマンスは制限されており、潜在的なエラーや誤解釈を引き起こす可能性があります。
- 誤った情報の生成:ユーザーは、Trendyol LLMが不正確または誤解を招く情報を生成する可能性があることに注意する必要があります。出力は決定的な答えではなく、出発点または提案として考慮されるべきです。
リスクと倫理的な考慮事項
- 有害な使用の可能性:Trendyol LLMが不快なまたは有害な言語を生成するリスクがあります。私たちは、このような目的での使用を強く推奨せず、展開前にアプリケーション固有の安全性と公正性の評価が必要であることを強調します。
- 意図しないコンテンツとバイアス:このモデルは大量のテキストデータコーパスで学習されましたが、不快なコンテンツや既存のバイアスについて明示的にチェックされていません。その結果、これらのバイアスや不正確さを反映したコンテンツを意図せず生成する可能性があります。
- 毒性:適切な学習データを選択する努力にもかかわらず、このモデルは有害なコンテンツを生成する可能性があります。特に明示的なプロンプトが与えられた場合に顕著です。私たちはオープンソースコミュニティに、このようなリスクを最小限に抑えるための戦略を開発することを奨励します。
安全で倫理的な使用のための推奨事項
- 人的監視:特に公開向けのアプリケーションでは、人的な管理レイヤーを組み込むか、フィルターを使用して出力の品質を管理および向上させることをお勧めします。このアプローチは、予期せぬ不快なコンテンツの生成リスクを軽減するのに役立ちます。
- アプリケーション固有のテスト:Trendyol LLMを使用する予定の開発者は、特定のアプリケーションに合わせた徹底的な安全性テストと最適化を行う必要があります。これは、モデルの応答が予測不能であり、時にはバイアスがあり、不正確または不快な場合があるため重要です。
- 責任ある開発と展開:Trendyol LLMの開発者とユーザーは、その倫理的で安全なアプリケーションを確保する責任があります。私たちはユーザーに、モデルの制限事項に留意し、誤用や有害な結果を防ぐために適切な保護措置を講じることを強く促します。
📄 ライセンス
このプロジェクトはApache 2.0ライセンスの下でライセンスされています。