Commit Graph
1821 Commits
Author SHA1 Message Date
Jiaming Yuan 151882dd26 Initial support for multi-target tree. (#8616)
* Implement multi-target for hist.

- Add new hist tree builder.
- Move data fetchers for tests.
- Dispatch function calls in gbm base on the tree type.
2023-03-22 23:49:56 +08:00
Jiaming Yuan ea04d4c46c [doc] [dask] Troubleshooting NCCL errors. (#8943) 2023-03-22 22:17:26 +08:00
Jiaming Yuan a551bed803 Remove duplicated learning rate parameter. (#8941) 2023-03-22 20:51:14 +08:00
Jiaming Yuan a05799ed39 Specify char type in JSON. (#8949)
char is defined as signed on x86 but unsigned on arm64

- Use `std::int8_t` instead of char.
- Fix include when clang is pretending to be gcc.
2023-03-22 19:13:44 +08:00
Jiaming Yuan 5891f752c8 Rework the MAP metric. (#8931)
- The new implementation is more strict as only binary labels are accepted. The previous implementation converts values greater than 1 to 1.
- Deterministic GPU. (no atomic add).
- Fix top-k handling.
- Precise definition of MAP. (There are other variants on how to handle top-k).
- Refactor GPU ranking tests.
2023-03-22 17:45:20 +08:00
Rong Ou b240f055d3 Support vertical federated learning (#8932) 2023-03-22 14:25:26 +08:00
amdsc21 595cd81251 add max shared mem workaround 2023-03-19 20:08:42 +01:00
Jiaming Yuan 9b6cc0ed07 Refactor hist to prepare for multi-target builder. (#8928)
- Extract the builder from the updater class. We need a new builder for multi-target.
- Extract `UpdateTree`, it can be reused for different builders. Eventually, other tree
  updaters can use it as well.
2023-03-17 17:21:04 +08:00
Jiaming Yuan a093770f36 Partitioner for multi-target tree. (#8922) 2023-03-16 18:49:34 +08:00
amdsc21 a79a35c22c add warp size 2023-03-15 22:00:26 +01:00
Jiaming Yuan 26209a42a5 Define git attributes for renormalization. (#8921) 2023-03-16 02:43:11 +08:00
Jiaming Yuan f186c87cf9 Check inf in data for all types of DMatrix. (#8911) 2023-03-15 11:24:35 +08:00
amdsc21 4484c7f073 disable Optin Shared Mem 2023-03-15 02:10:16 +01:00
Jiaming Yuan 72e8331eab Reimplement the NDCG metric. (#8906)
- Add support for non-exp gain.
- Cache the DMatrix object to avoid re-calculating the IDCG.
- Make GPU implementation deterministic. (no atomic add)
2023-03-15 03:26:17 +08:00
Jiaming Yuan 8685556af2 Implement hist evaluator for multi-target tree. (#8908) 2023-03-15 01:42:51 +08:00
Jiaming Yuan 910ce580c8 Clear all cache after model load. (#8904) 2023-03-14 22:09:36 +08:00
Jiaming Yuan c400fa1e8d Predictor for vector leaf. (#8898) 2023-03-14 19:07:10 +08:00
amdsc21 364df7db0f fix ../tree/gpu_hist/evaluate_splits.hip bugs, size 64 2023-03-14 06:17:21 +01:00
amdsc21 a2bab03205 fix aft_obj.hip 2023-03-13 23:19:59 +01:00
Jiaming Yuan 8be6095ece Implement NDCG cache. (#8893) 2023-03-13 22:16:31 +08:00
Jiaming Yuan 9bade7203a Remove public access to tree model param. (#8902)
* Make tree model param a private member.
* Number of features and targets are immutable after construction.

This is to reduce the number of places where we can run configuration.
2023-03-13 20:55:10 +08:00
Jiaming Yuan 5ba3509dd3 Define multi expand entry. (#8895) 2023-03-13 19:31:05 +08:00
amdsc21 b71c1b50de fix macro, no ! 2023-03-12 23:02:28 +01:00
amdsc21 fa2336fcfd sort bug fix 2023-03-12 07:09:10 +01:00
amdsc21 7d96758382 macro format 2023-03-11 06:57:24 +01:00
amdsc21 b0dacc5a80 fix bug 2023-03-11 03:47:23 +01:00
amdsc21 b4dbe7a649 fix isnan 2023-03-11 02:39:58 +01:00
amdsc21 e5b6219a84 typo 2023-03-11 02:30:27 +01:00
amdsc21 3a07b1edf8 complete test porting 2023-03-11 02:17:05 +01:00
Jiaming Yuan 36a7396658 Replace dmlc any with std any. (#8892) 2023-03-11 06:11:04 +08:00
amdsc21 f0b8c02f15 merge latest changes 2023-03-10 22:10:20 +01:00
Jiaming Yuan 2aa838c75e Define multi-strategy parameter. (#8890) 2023-03-11 02:58:01 +08:00
amdsc21 5e8b1842b9 fix Pointer Attr 2023-03-10 19:06:02 +01:00
Jiaming Yuan 6deaec8027 Pass obj info by reference instead of by value. (#8889)
- Pass obj info into tree updater as const pointer.

This way we don't have to initialize the learner model param before configuring gbm, hence
breaking up the dependency of configurations.
2023-03-11 01:38:28 +08:00
amdsc21 e1ddb5ae58 fix macro XGBOOST_USE_HIP 2023-03-10 07:11:05 +01:00
amdsc21 643e2a7b39 fix macro XGBOOST_USE_HIP 2023-03-10 07:09:41 +01:00
amdsc21 bde3107c3e fix macro XGBOOST_USE_HIP 2023-03-10 07:01:25 +01:00
amdsc21 5edfc1e2e9 finish ellpack_page.cc 2023-03-10 06:41:25 +01:00
amdsc21 c073417d0c finish aft_obj.cu 2023-03-10 06:39:03 +01:00
amdsc21 9bbbeb3f03 finish multiclass_obj.cu 2023-03-10 06:35:46 +01:00
amdsc21 4bde2e3412 finish multiclass_obj.cu 2023-03-10 06:35:21 +01:00
amdsc21 58a9fe07b6 finish multiclass_obj.cu 2023-03-10 06:35:06 +01:00
amdsc21 41407850d5 finish rank_obj.cu 2023-03-10 06:29:08 +01:00
amdsc21 968a1db4c0 finish regression_obj.cu 2023-03-10 06:07:53 +01:00
amdsc21 ad710e4888 finish hinge.cu 2023-03-10 06:04:59 +01:00
amdsc21 4e3c699814 finish adaptive.cu 2023-03-10 06:02:48 +01:00
amdsc21 757de84398 finish quantile.cu 2023-03-10 05:55:51 +01:00
amdsc21 d27f9dfdce finish host_device_vector.cu 2023-03-10 05:45:38 +01:00
amdsc21 14cc438a64 finish stats.cu 2023-03-10 05:38:16 +01:00
amdsc21 911a5d8a60 finish hist_util.cu 2023-03-10 05:32:38 +01:00