人工智能 (AI) 可以解決世界上一些最大的問題,但前提是每個人都擁有使用它的工具。2024 年 6 月 27 日,人工智能技術(shù)領(lǐng)域的領(lǐng)先企業(yè)谷歌推出了Gemma 2 9B 和 27B,這是一組輕量級、先進的人工智能模型。這些模型采用與著名的 Gemini 模型相同的技術(shù)構(gòu)建,使更多人能夠使用人工智能,標志著人工智能民主化的重要里程碑。
Gemma 2 有兩種大?。?0 億 (9B) 和 270 億 (27B) 個參數(shù),上下文長度為 8K 個 token。谷歌聲稱該模型比第一代 Gemma 模型性能更好、效率更高。Gemma 2 還包含必要的安全改進。27B 模型非常強大,可以與兩倍于其大小的模型相媲美,并且可以在單個 NVIDIA H100 Tensor Core GPU 或 TPU 主機上運行,從而降低成本。
捷智算平臺以實惠的價格提供強大的 H100 和 A4000 等 GPU,為 AI 開發(fā)帶來革命性變化,讓更多研究人員和開發(fā)人員能夠運行先進的輕量級模型。借助其基于云的平臺,用戶可以輕松訪問高性能 NVIDIA GPU,而成本僅為傳統(tǒng)基礎(chǔ)設(shè)施的一小部分。
捷智算云平臺通過降低進入門檻并啟用 Gemma 2 等先進模型來實現(xiàn)人工智能的民主化,從而實現(xiàn)人工智能的包容性和加速進步。那么如何在 A4000 GPU 上運行 Gemma 2模型?下面以捷智算云平臺進行演示,為大家詳細介紹一下!
需要輕量級模型
輕量級 AI 模型對于使先進技術(shù)更易于獲取、更高效、更具成本效益和更可持續(xù)至關(guān)重要。它們支持各種應(yīng)用。此外,這些模型推動創(chuàng)新并應(yīng)對全球各種挑戰(zhàn)。
輕量級模型在各個領(lǐng)域都必不可少的原因如下:
速度:由于規(guī)模和復雜性降低,輕量級模型通常具有更快的推理時間。這對于實時或近實時數(shù)據(jù)處理應(yīng)用(如視頻分析、自動駕駛汽車或在線推薦系統(tǒng))至關(guān)重要。
計算要求低:輕量級模型通常比大型模型需要更少的計算資源(例如內(nèi)存和處理能力)。這使得它們適合部署在功能有限的設(shè)備上,例如智能手機、物聯(lián)網(wǎng)或邊緣設(shè)備。
可擴展性:輕量級模型更易于跨多種設(shè)備或用戶進行擴展。這種可擴展性對于用戶群廣泛的應(yīng)用程序(例如移動應(yīng)用程序)尤其有利,因為在這些應(yīng)用程序中部署大型模型可能不可行。
成本效益:輕量級模型可以降低與部署和維護 AI 系統(tǒng)相關(guān)的運營成本。它們消耗更少的能源,并且可以在更便宜的硬件上運行,使企業(yè)和開發(fā)人員更容易獲得它們,并且更經(jīng)濟。
在資源受限的環(huán)境中部署:在互聯(lián)網(wǎng)連接不可靠或帶寬有限的環(huán)境中,輕量級模型可以有效運行,而無需持續(xù)訪問云服務(wù)。
像 Gemma 2 這樣的輕量級模型至關(guān)重要,因為它們允許更多人和組織利用先進的人工智能技術(shù),推動創(chuàng)新,并為各種挑戰(zhàn)創(chuàng)造解決方案,同時注意成本和可持續(xù)性。
Gemma 2 簡介
Gemma 2 是 Google 最新推出的開源大型語言模型 (LLM),其模型參數(shù)有 90 億 (gemma-2-9b) 和 270 億 (gemma-2-27b),包括指令微調(diào)變體。這些模型在大量數(shù)據(jù)集上進行訓練 — — 27B 版本有 13 萬億個標記,9B 版本有 8 萬億個標記 — — 其中包括網(wǎng)絡(luò)數(shù)據(jù)、英文文本、代碼和數(shù)學內(nèi)容。Gemma 2 的上下文長度為 8,000 個標記,由于數(shù)據(jù)管理的改進和訓練數(shù)據(jù)集的擴大,它在語言理解和文本生成等任務(wù)中提供了增強的性能。Gemma 2 在寬松的許可下發(fā)布,支持重新分發(fā)、商業(yè)使用、微調(diào)和衍生作品,促進了人工智能應(yīng)用的廣泛采用和創(chuàng)新。一些技術(shù)增強包括交錯局部全局注意力和群組查詢注意力。此外,2B 和 9B 模型利用知識提煉而不是下一個標記預(yù)測,從而相對于其大小具有更優(yōu)異的性能,并且是比其大 2-3 倍的模型具有競爭力的替代方案。
Gemma2 性能
在 Gemma 2 的訓練過程中,我們遵守了嚴格的安全規(guī)程。其中包括篩選訓練前數(shù)據(jù),并針對各種指標進行全面測試,以檢測和解決潛在的偏見和風險。
Gemma 2 性能
Gemma 2 的 9B 和 27B 指令評估
探索 Gemma 2 的強大功能:捷智算平臺演示
我們已成功使用 Ollama 和 NVIDIA RTX A4000 測試了該模型!查看我們關(guān)于下載 Ollama 和訪問任何 LLM 模型的有用文章。此外,Gemma2 可與 Ollama 無縫協(xié)作。
準備好下載模型并開始嗎?
在開始之前,讓我們收集一些有關(guān) GPU 配置的信息。
nvidia-smi
ollama run gemma2
您會驚訝于使用先進的 A4000 機器檢索模型的速度有多快!只需幾秒鐘,您就可以與模型進行精彩的聊天。
1、發(fā)人深省的問題:神經(jīng)網(wǎng)絡(luò)如何工作,并解釋其關(guān)鍵組成部分?
轉(zhuǎn)眼間,模型就生成了輸出。
2、兩難問題:假設(shè)你是一名醫(yī)生,有五個病人,他們都需要器官移植才能活下來,但你沒有任何器官。有一天,一個擁有兼容器官的健康人被送進醫(yī)院進行例行檢查。如果你使用這個健康人的器官,你可以拯救你的五個病人。然而,這意味著犧牲來例行檢查的健康人。你應(yīng)該怎么做?為什么?
3、編碼:編寫一個函數(shù),通過填充空單元格來解決數(shù)獨難題。數(shù)獨難題是一個 9x9 網(wǎng)格,目標是填充網(wǎng)格,使每行、每列以及九個 3x3 子網(wǎng)格中的每一個都恰好包含一次從 1 到 9 的數(shù)字??諉卧裼米址啊!北硎尽?/p>
輸出:-
def solveSudoku(puzzle):
"""
Solves a Sudoku puzzle.
Args:
puzzle (list): A list of strings representing the Sudoku puzzle.
Returns:
list: A list of strings representing the solved Sudoku puzzle.
"""
# Iterate over the rows, columns, and subgrids.
for row in range(9):
for col in range(9):
if puzzle[row][col] == '.':
# Check if the number is already in the row, column, or subgrid.
for i in range(9):
if puzzle[row][i] != '.' and puzzle[i][col] != '.' and puzzle[row][col] == puzzle[i][col]:
continue
# Find the possible numbers for the cell.
possible_numbers = set()
for i in range(1, 10):
if not is_valid(puzzle, row, col, i):
possible_numbers.add(i)
# Try each possible number.
for number in possible_numbers:
puzzle[row][col] = str(number)
if solveSudoku(puzzle):
return puzzle
puzzle[row][col] = '.'
# If no solution is found, return the original puzzle.
return puzzle
# Helper function to check if a number is valid for a cell.
def is_valid(puzzle, row, col, number):
for i in range(9):
if puzzle[row][i] == str(number) or puzzle[i][col] == str(number):
return False
for i in range(3):
for j in range(3):
if puzzle[row // 3 * 3 + i][col // 3 * 3 + j] == str(number):
return False
return True
```
**Explanation:**
* The `solveSudoku` function iterates over the rows, columns, and subgrids of the Sudoku puzzle.
* For each empty cell, it checks if the number is already in the row, column, or subgrid.
* It then finds the possible numbers for the cell and tries each one.
* If a solution is found, it returns the solved puzzle. Otherwise, it returns the original puzzle.
* The `is_valid` function checks if a number is valid for a cell by ensuring that it is not already in the row, column, or subgrid.
**Example Usage:**
```python
# Example Sudoku puzzle.
puzzle = [
['5', '3', '.', '.', '7', '8', '.', '.', '.'],
['.', '7', '4', '6', '.', '5', '8', '9', '.'],
['.', '.', '8', '.', '9', '1', '.', '6', '.'],
// ... Rest of the puzzle.
]
# Solve the Sudoku puzzle.
solution = solveSudoku(puzzle)
# Print the solved puzzle.
print(solution)
```
結(jié)論
SOTA 模型 Gemma 2 所展示的進步在 AI 領(lǐng)域具有開創(chuàng)性意義。Gemma 2 的配置利用了 90 億和 270 億個參數(shù),展示了性能、效率和關(guān)鍵安全性的提升。它可以與兩倍于其大小的模型相媲美,并且可以在單個 NVIDIA Tensor Core GPU 或 TPU 主機上經(jīng)濟高效地運行,使更廣泛的開發(fā)人員和研究人員能夠使用高級 AI。Gemma 2 的開源性質(zhì)、廣泛的培訓和技術(shù)增強凸顯了其卓越的性能,使其成為 AI 技術(shù)的關(guān)鍵發(fā)展。