GTA系列是游戏史上的一个传奇,从初代开始,到万众瞩目热销全球的GTA5。玩家对于这个系列的游戏一直都抱有很高的期待,R星对下一代游戏GTA6的研发开发似乎也非常谨慎,基本没有传出过这类消息。倒是玩家和媒体疯狂猜测GTA6的时间,毕竟离GTA5发售已经过去了6年,正常的3A大作在这个周期内早已退出续作了! 阅读全文

“风起,风止。风又起…”这两天《陈情令》又成了网上的热门话题。

9月21日在曼谷IMPACT展览中心举办的泰国粉丝见面会,把《陈情令》和主办方新湃传媒又推到了舆论的风口。此次见面会不仅因为出席演员的阵容问题和无法直播的问题让很多粉丝表示难以理解,被黄牛炒到天价的门票也引发了中泰两国众多粉丝的不满。对此,虽然陈情令官微于9月8日和9月19日连发两次声明,但粉丝们却认为难以令人信服。 阅读全文

郭一璞 发自 长沙

量子位 报道 | 公众号 QbitAI

我们终于在国内开放的大马路上,体验了一回L4级自动驾驶。

而且,这不是在封闭的路测园区里实验性的行驶,而是拿出了可以量产的车型,在长沙市区的公共道路上,在私家车、大巴车、摩托车、外卖车、自行车、路人中间行驶。 阅读全文

《噬血代码》已在今日正式登陆Steam平台,截止发稿前,这款游戏的全部测评为特别好评,好评率为88%。

给出好评的玩家均认为游戏中的捏脸系统做的非常细致,人物建模也非常精美,虽然这是一款魂-like游戏,但是玩家却将其玩成了“日呆游戏”。此外,游戏的剧情和音乐也不错。 阅读全文

在昨天的华为Mate 30发布会后,余承东在接受媒体采访时,多次语出惊人。在谈及华为智慧屏定价时,指出华为智慧屏比很多两三万元的电视体验都要好。“不卖2-3万元都对不起这个产品”,与此同时,她批评某些厂商电视产品做的很便宜,但是“产品做得很垃圾,没法用。” 阅读全文

扎根澳洲金矿产业多年的罕王控股,再次出手收购西澳一处金矿项目,却遇上“高冷”的卖方,以及“执着”的本地竞争者,交易“前景不明”。

9月23日,中国罕王控股发布公告称,旗下附属公司罕王澳洲投资公司(Hanking Australia Investment Pty Ltd)已经发出一份不具约束力的现金收购要约,计划收购澳洲上市矿企福克斯矿物(Focus Minerals Limited)下属一项金矿项目的100%权益。 阅读全文

本文为「金十数据」原创文章,未经许可,禁止转载,违者必究。

众所周知,作为亚洲人口大国的印度,因其低廉的劳动力引来了不少海外投资者来该地区建厂。比如智能手机制造巨头苹果公司,在本月中旬的时候,还通过其代工厂富士康对印度投资了10亿美元用于建厂,以扩大其手机产量。 阅读全文

本文为「金十数据」原创文章,未经许可,禁止转载,违者必究。

据媒体9月27日报道,韩国三星电子公司正在考虑在越南北部建造一家新工厂的可能性。据了解,近年来,三星已经在越南设下八家工厂以及一家研发中心,总投资超过173亿美元,越南正成为三星最大的海外生产基地。 阅读全文

机器之心报道

机器之心编辑部

能够灵活地调用各种语言模型,一直是 NLP 研究者的期待。近日 HuggingFace 公司开源了最新的 Transformer2.0 模型库,用户可非常方便地调用现在非常流行的 8 种语言模型进行微调和应用,且同时兼容 TensorFlow2.0 和 PyTorch 两大框架,非常方便快捷。

最近,专注于自然语言处理(NLP)的初创公司 HuggingFace 对其非常受欢迎的 Transformers 库进行了重大更新,从而为 PyTorch 和 Tensorflow 2.0 两大深度学习框架提供了前所未有的兼容性。

更新后的 Transformers 2.0 汲取了 PyTorch 的易用性和 Tensorflow 的工业级生态系统。借助于更新后的 Transformers 库,科学家和实践者可以更方便地在开发同一语言模型的训练、评估和制作阶段选择不同的框架。

那么更新后的 Transformers 2.0 具有哪些显著的特征呢?对 NLP 研究者和实践者又会带来哪些方面的改善呢?机器之心进行了整理。

项目地址:https://github.com/huggingface/transformers

Transformers 2.0 新特性

  • 像 pytorch-transformers 一样使用方便;
  • 像 Keras 一样功能强大和简洁;
  • 在 NLU 和 NLG 任务上实现高性能;
  • 对教育者和实践者的使用门槛低。

为所有人提供 SOTA 自然语言处理

  • 深度学习研究者;
  • 亲身实践者;
  • AI/ML/NLP 教师和教育者。

更低的计算开销和更少的碳排放量

  • 研究者可以共享训练过的模型,而不用总是重新训练;
  • 实践者可以减少计算时间和制作成本;
  • 提供有 8 个架构和 30 多个预训练模型,一些模型支持 100 多种语言;

为模型使用期限内的每个阶段选择正确的框架

  • 3 行代码训练 SOTA 模型;
  • 实现 TensorFlow 2.0 和 PyTorch 模型的深度互操作;
  • 在 TensorFlow 2.0 和 PyTorch 框架之间随意移动模型;
  • 为模型的训练、评估和制作选择正确的框架。

现已支持的模型

官方提供了一个支持的模型列表,包括各种著名的预训练语言模型和变体,甚至还有官方实现的一个蒸馏后的 Bert 模型:

1. BERT (https://github.com/google-research/bert) 2. GPT (https://github.com/openai/finetune-transformer-lm) 3. GPT-2 (https://blog.openai.com/better-language-models/) 4. Transformer-XL (https://github.com/kimiyoung/transformer-xl) 5. XLNet (https://github.com/zihangdai/xlnet/)6. XLM (https://github.com/facebookresearch/XLM/) 7. RoBERTa (https://github.com/pytorch/fairseq/tree/master/examples/roberta) 8. DistilBERT (https://github.com/huggingface/transformers/tree/master/examples/distillation)

快速上手

怎样使用 Transformers 工具包呢?官方提供了很多代码示例,以下为查看 Transformer 内部模型的代码:

import torch
from transformers import *
#Transformers has a unified API
#for 8 transformer architectures and 30 pretrained weights.
#Model | Tokenizer | Pretrained weights shortcut
MODELS = [(BertModel, BertTokenizer, 'bert-base-uncased'),
(OpenAIGPTModel, OpenAIGPTTokenizer, 'openai-gpt'),
(GPT2Model, GPT2Tokenizer, 'gpt2'),
(TransfoXLModel, TransfoXLTokenizer, 'transfo-xl-wt103'),
(XLNetModel, XLNetTokenizer, 'xlnet-base-cased'),
(XLMModel, XLMTokenizer, 'xlm-mlm-enfr-1024'),
(DistilBertModel, DistilBertTokenizer, 'distilbert-base-uncased'),
(RobertaModel, RobertaTokenizer, 'roberta-base')]
#To use TensorFlow 2.0 versions of the models, simply prefix the class names with 'TF', e.g. TFRobertaModel is the TF 2.0 counterpart of the PyTorch model RobertaModel
#Let's encode some text in a sequence of hidden-states using each model:
for model_class, tokenizer_class, pretrained_weights in MODELS:
# Load pretrained model/tokenizer
tokenizer = tokenizer_class.from_pretrained(pretrained_weights)
model = model_class.from_pretrained(pretrained_weights)
# Encode text
input_ids = torch.tensor([tokenizer.encode("Here is some text to encode", add_special_tokens=True)]) # Add special tokens takes care of adding [CLS], [SEP], <s>... tokens in the right way for each model.
with torch.no_grad():
last_hidden_states = model(input_ids)[0] # Models outputs are now tuples
#Each architecture is provided with several class for fine-tuning on down-stream tasks, e.g.
BERT_MODEL_CLASSES = [BertModel, BertForPreTraining, BertForMaskedLM, BertForNextSentencePrediction,
BertForSequenceClassification, BertForMultipleChoice, BertForTokenClassification,
BertForQuestionAnswering]
#All the classes for an architecture can be initiated from pretrained weights for this architecture
#Note that additional weights added for fine-tuning are only initialized
#and need to be trained on the down-stream task
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
for model_class in BERT_MODEL_CLASSES:
# Load pretrained model/tokenizer
model = model_class.from_pretrained('bert-base-uncased')
#Models can return full list of hidden-states & attentions weights at each layer
model = model_class.from_pretrained(pretrained_weights,
output_hidden_states=True,
output_attentions=True)
input_ids = torch.tensor([tokenizer.encode("Let's see all hidden-states and attentions on this text")])
all_hidden_states, all_attentions = model(input_ids)[-2:]
#Models are compatible with Torchscript
model = model_class.from_pretrained(pretrained_weights, torchscript=True)
traced_model = torch.jit.trace(model, (input_ids,))
#Simple serialization for models and tokenizers
model.save_pretrained('./directory/to/save/') # save
model = model_class.from_pretrained('./directory/to/save/') # re-load
tokenizer.save_pretrained('./directory/to/save/') # save
tokenizer = tokenizer_class.from_pretrained('./directory/to/save/') # re-load
#SOTA examples for GLUE, SQUAD, text generation...
阅读全文