CodeGemma 是一系列強大且輕量的模型,可以執行各種編碼任務,例如程式碼填空中間、程式碼生成、自然語言理解、數學推理和指令遵循。

2b 7b

476.7K 6 months ago

Readme

CodeGemma 是一系列強大且輕量的模型,可以執行各種編碼任務,例如程式碼填空中間、程式碼生成、自然語言理解、數學推理和指令遵循。

變體

  • instruct 一個 7b 指令微調變體,用於自然語言到程式碼的聊天和指令遵循
  • code 一個 7b 預訓練變體,專門用於從程式碼前綴和/或後綴完成和生成程式碼
  • 2b 最先進的 2B 預訓練變體,可提供高達 2 倍更快的程式碼完成速度

優勢

  • 智慧程式碼完成和生成:完成程式碼行、函數,甚至生成整個程式碼區塊,無論您是在本機工作還是使用 Google Cloud 資源。

  • 增強的準確性:CodeGemma 模型在來自網路文件、數學和程式碼的 5000 億個 tokens 的主要英語資料上進行訓練,生成的程式碼不僅語法更正確,而且語義也更有意義,從而減少錯誤和除錯時間。

  • 多語言能力:支援 Python、JavaScript、Java、Kotlin、C++、C#、Rust、Go 和其他語言。

  • 簡化工作流程:將 CodeGemma 模型整合到您的開發環境中,以減少編寫樣板程式碼,並專注於重要且與眾不同的程式碼,從而更快地完成工作。

benchmarks

填空中間

CodeGemma 模型支援填空中間 (FIM),用於自動完成或程式碼助手工具。以下是使用 Ollama Python 函式庫的範例

response = generate(
  model='codegemma:2b-code',
  prompt=f'<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>',
  options={
    'num_predict': 128,
    'temperature': 0,
    'top_p': 0.9,
    'stop': ['<|file_separator|>'],
  },
)

參考文獻

Hugging Face

報告