🚀 Arsh-llm:一個擁有5000萬參數的緊湊強大模型
Arsh-llm 是一個基於Llama架構的5000萬參數語言模型,旨在出色地生成富有創意的故事、連貫的文本和實用的代碼。該模型在T4 GPU上使用精心挑選的小型但強大的數據集進行了35小時的預訓練,並在對話數據上進行了20小時的微調。它就像一臺精簡高效的文本生成機器,潛力巨大。其訓練損失在 1.2 - 1.9 之間,已經展現出了良好的前景,並且隨著更多的訓練有望進一步提升性能。繫好安全帶,這僅僅是個開始!
📚 模型概述
屬性 |
詳情 |
架構 |
基於Llama的因果語言模型 |
參數數量 |
5000萬 |
上下文長度 |
128個令牌 |
預訓練時長 |
在NVIDIA T4 GPU上約35小時 |
微調時長 |
在對話數據集上約20小時 |
訓練損失 |
1.2 - 1.9(有提升空間!) |
庫 |
Transformers(Hugging Face) |
許可證 |
MIT |
📦 數據集
Arsh-llm在多種不同的數據集上進行了訓練,以確保在故事講述、文本生成和代碼相關任務中具有通用性:
- roneneldan/TinyStories:用於敘事生成的簡短創意故事。
- Salesforce/wikitext:基於維基百科的文本,用於獲取常識和保證文本連貫性。
- abhinand/alpaca-gpt4-sharegpt:基於指令的對話數據,用於面向任務的回覆。
- shibing624/sharegpt_gpt4:高質量的對話數據,用於類聊天交互。
- ChristophSchuhmann/basic-math-problems-with-step-by-step-solutions:帶有逐步解決方案的數學問題,用於提升邏輯推理能力。
微調是在結構化的ShareGPT聊天模板上進行的,以增強對話能力,使Arsh-llm成為基於對話的應用程序的理想起點。
🎯 使用場景
Arsh-llm是一個多功能模型,適用於以下場景:
- 創意寫作:生成引人入勝的短篇小說或敘事提示。
- 代碼生成:為各種編程任務生成實用的代碼片段。
- 對話式AI:為聊天機器人或助手提供自然對話能力。
- 教育工具:輔助解決數學問題或逐步解釋概念。
⚠️ 重要提示
該模型仍在開發中。為了獲得生產級別的性能,建議在更大的數據集上進行進一步的預訓練,並在對話數據上進行後訓練。
🚀 快速開始
要使用Arsh-llm,你可以直接從Hugging Face加載它:
基礎用法
import torch
from transformers import pipeline, set_seed
model_name = "arshiaafshani/Arsh-llm"
chatbot = pipeline(
"text-generation",
model=model_name,
device=0 if torch.cuda.is_available() else -1
)
chatbot.tokenizer.bos_token = "<sos>"
chatbot.tokenizer.eos_token = "<|endoftext|>"
set_seed(42)
print("Arsh llm is ready! Type 'exit' to end the conversation.")
conversation_history = []
conversation_history.append({"role": "system", "content": "You are a helpful assistant."})
while True:
user_input = input("You: ").strip()
if user_input.lower() == "exit":
print("Exited from the chat. Bye!")
break
conversation_history.append({"role": "user", "content": user_input})
messages = conversation_history + [{"role": "assistant", "content": ""}]
prompt = chatbot.tokenizer.apply_chat_template(messages, tokenize=False)
response = chatbot(
prompt,
do_sample=True,
max_new_tokens=512,
top_k=50,
temperature=0.6,
num_return_sequences=1,
repetition_penalty=1.1,
pad_token_id=chatbot.tokenizer.eos_token_id,
min_new_tokens=20
)
full_text = response[0]["generated_text"]
bot_response = full_text[len(prompt):].strip()
print(f"Bot: {bot_response}")
🔧 訓練細節
- 預訓練:在T4 GPU上使用TinyStories、WikiText和其他數據集進行了約35小時的預訓練,為文本和故事生成打下堅實基礎。
- 微調:在基於ShareGPT的對話數據上使用結構化聊天模板進行了20小時的微調,以增強對話能力。
- 硬件:NVIDIA T4 GPU(15GB VRAM)。
- 訓練損失:達到1.2 - 1.9,表明性能良好,通過擴展訓練有很大的提升潛力。
⚠️ 侷限性
- 當前階段:Arsh-llm尚未完全優化。雖然在其規模下表現良好,但需要更多的訓練才能與更大的模型競爭。
- 數據集大小:在相對較小的數據集上進行預訓練,限制了其泛化能力。擴展到更大的數據集將釋放其全部潛力。
- 上下文長度:限制為128個令牌,可能會限制在較長序列上的性能。
- 非生產就緒:該模型最好用作進一步微調的基礎,而不是作為獨立的解決方案。
🚀 未來計劃
旅程並未就此結束!Arsh-llm將通過以下方式不斷發展:
- 擴展預訓練:利用更大的數據集以獲得更廣泛的知識和更好的泛化能力。
- 對話式微調:使用先進的後訓練技術增強對話能力。
- 基準測試:在MMLU、HumanEval和GSM8K等任務上與類似模型(如TinyLlama、Phi-1.5)進行性能評估。
- 社區反饋:納入用戶見解以改進和完善模型。
請繼續關注,Arsh-llm正在成為傳奇的路上!
📄 許可證
該模型採用MIT許可證,允許在研究和商業應用中靈活使用。你可以自由地在此基礎上進行構建、修改或分享!
🙏 致謝
- 由Arshia Afshani使用 ❤️ 構建。
- 由Hugging Face Transformers庫提供支持。
- 感謝開源社區提供的出色數據集,使這個模型成為可能。
準備好試用Arsh-llm了嗎? 克隆它,訓練它,讓我們一起讓它成為超級明星!如有問題、反饋或合作需求,請通過Hugging Face聯繫或在倉庫中提出問題。