Commit Graph
100 Commits
Author SHA1 Message Date
Jiaming Yuan c9f5fcaf21 [col] Small cleanup to federated comm. (#10397) 2024-06-07 21:19:04 +08:00
Jiaming Yuan 9f6608d6aa Add python 3.12 classifier. (#10381) 2024-06-04 18:02:59 +08:00
Jiaming Yuan 43a57c4a85 Bump development version to 2.2. (#10376) 2024-06-04 12:59:16 +08:00
Jiaming Yuan 979e392deb Fix warnings in GPU dask tests. (#10358) 2024-06-04 12:58:58 +08:00
Jiaming Yuan 0808e50ae8 Sync stream in ellpack format. (#10374) 2024-06-04 12:58:26 +08:00
Jiaming Yuan 7f3e92d71a Bump the cache github action to 4.0.2. (#10377) 2024-06-03 16:52:21 +08:00
Jiaming Yuan 4f48647932 Fix typo. (#10353) 2024-06-02 02:07:55 +08:00
Jiaming Yuan 92cba25fe2 Remove reference to R win64 MSVC build. (#10355) 2024-06-02 02:06:35 +08:00
Jiaming Yuan d2d01d977a Remove unnecessary fetch operations in external memory. (#10342) 2024-05-31 13:16:40 +08:00
Jiaming Yuan c2e3d4f3cd [dask] Update dask demo for using the new dask backend. (#10347) 2024-05-31 08:03:20 +08:00
Jiaming Yuan e6eefea5e2 [coll] Move the rabit poll helper. (#10349) 2024-05-31 08:02:21 +08:00
Jiaming Yuan 2de67f0050 [coll] Prevent race during error check. (#10319) 2024-05-28 15:43:16 -07:00
Jiaming YuanandPhilip Hyunsu Cho 7354955cbb Test federated plugin using GitHub action. (#10336)
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-05-29 02:28:14 +08:00
Jiaming Yuan 5627af6b21 [coll] Increase timeout limit. (#10332) 2024-05-28 10:20:49 +08:00
Jiaming Yuan 15eb553c1f [doc] Add a coarse map for XGBoost features to assist development. [skip ci] (#10310) 2024-05-23 14:25:15 +08:00
Jiaming Yuan 966dc81788 [coll] Keep the tracker alive during initialization error. (#10306) 2024-05-23 11:13:59 +08:00
Jiaming Yuan d5fcbee44b Add timeout for distributed tests. (#10315) 2024-05-23 11:11:49 +08:00
Jiaming Yuan 1b25d23583 [JVM-packages] Prevent memory leak. (#10307) 2024-05-22 13:47:59 +08:00
Jiaming Yuan 7a54ca41c9 [CI] Bump checkout action version. (#10305) 2024-05-21 16:38:20 +08:00
Jiaming Yuan a5a58102e5 Revamp the rabit implementation. (#10112)
This PR replaces the original RABIT implementation with a new one, which has already been partially merged into XGBoost. The new one features:
- Federated learning for both CPU and GPU.
- NCCL.
- More data types.
- A unified interface for all the underlying implementations.
- Improved timeout handling for both tracker and workers.
- Exhausted tests with metrics (fixed a couple of bugs along the way).
- A reusable tracker for Python and JVM packages.
2024-05-20 11:56:23 +08:00
Jiaming Yuan ba9b4cb1ee Fix pylint. (#10296) 2024-05-17 13:28:39 +08:00
Jiaming Yuan 835e59e538 Use a thread pool for external memory. (#10288) 2024-05-16 19:32:12 +08:00
Jiaming Yuan ca1d04bcb7 Release data in cache. (#10286) 2024-05-14 14:20:19 +08:00
Jiaming Yuan f1f69ff10e [CI] Fixes for using the latest modin. (#10285) 2024-05-14 12:13:35 +08:00
Jiaming Yuan 871fabeee3 [doc][dask] Update notes about k8s. (#10271) 2024-05-14 04:21:02 +08:00
Jiaming YuanandPhilip Hyunsu Cho d81e319e78 Fixes for the latest pandas. (#10266)
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-05-12 11:15:46 +08:00
Jiaming Yuan 5e816e616a [CI] Upgrade setup-r. (#10267) 2024-05-12 05:25:29 +08:00
Jiaming Yuan 5de57435c7 Be more lenient on floating point error for AUC. (#10264) 2024-05-11 08:48:11 +08:00
Jiaming Yuan 8237920c48 [jvm-packagaes] Freeze spark to 3.4.1 for now. (#10253)
The newer spark version for CPU conflicts with the more conservative version used by
rapids.
2024-05-07 09:00:59 -07:00
Jiaming Yuan 73afef1a6e Fixes for numpy 2.0. (#10252) 2024-05-07 03:54:32 +08:00
Jiaming Yuan 5e64276a9b Update nvtx. (#10227) 2024-04-29 06:33:46 +08:00
Jiaming Yuan 837d44a345 Support more sklearn tags for testing. (#10230) 2024-04-29 06:33:23 +08:00
Jiaming Yuan 54754f29dd [pyspark] Sort workers by task ID. (#10220) 2024-04-28 18:05:15 +08:00
Jiaming Yuan a81b78e56b [CI] Test new setup-r. (#10228) 2024-04-26 08:23:31 -07:00
Jiaming Yuan 59d7b8dc72 [doc] Add typing to dask demos. (#10207) 2024-04-23 00:57:05 +08:00
Jiaming Yuan 3fbb221fec [coll] Implement shutdown for tracker and comm. (#10208)
- Force shutdown the tracker.
- Implement shutdown notice for error handling thread in comm.
2024-04-20 04:08:17 +08:00
Jiaming Yuan 3f64b4fde3 [coll] Add global functions. (#10203) 2024-04-19 03:17:23 +08:00
Jiaming Yuan 303c603c7d [pyspark] Reuse the collective communicator. (#10198) 2024-04-18 19:09:30 +08:00
Jiaming Yuan 4b10200456 [coll] Improve event loop. (#10199)
- Add a test for blocking calls.
- Do not require the queue to be empty after waking up; this frees up the thread to answer blocking calls.
- Handle EOF in read.
- Improve the error message in the result. Allow concatenation of multiple results.
2024-04-18 03:29:52 +08:00
Jiaming Yuan 1022909bbe Fix global config for external memory. (#10173)
Pass the thread-local configuration between threads.
2024-04-11 01:29:28 +08:00
Jiaming Yuan f0a138f33a Fix pyspark with verbosity=3. (#10172) 2024-04-09 23:18:56 +08:00
Jiaming Yuan 8bad677c2f Update collective implementation. (#10152)
* Update collective implementation.

- Cleanup resource during `Finalize` to avoid handling threads in destructor.
- Calculate the size for allgather automatically.
- Use simple allgather for small (smaller than the number of worker) allreduce.
2024-03-30 18:57:31 +08:00
Jiaming YuanandPhilip Hyunsu Cho 230010d9a0 Cleanup set info. (#10139)
- Use the array interface internally.
- Deprecate `XGDMatrixSetDenseInfo`.
- Deprecate `XGDMatrixSetUIntInfo`.
- Move the handling of `DataType` into the deprecated C function.

---------

Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-03-26 23:26:24 +08:00
Jiaming Yuan e1695775e9 [CI] Fix yml in github action. (#10134) 2024-03-20 16:38:03 +08:00
Jiaming Yuan 2b2aac85f4 [CI] Update scorecard actions. (#10133) 2024-03-20 15:51:38 +08:00
Jiaming Yuan ca4801f81d Work with IPv6 in the new tracker. (#10125) 2024-03-20 05:19:23 +08:00
Jiaming Yuan 53fc17578f Use std::uint64_t for row index. (#10120)
- Use std::uint64_t instead of size_t to avoid implementation-defined type.
- Rename to bst_idx_t, to account for other types of indexing.
- Small cleanup to the base header.
2024-03-15 18:43:49 +08:00
Jiaming Yuan 56b1868278 Fix compilation with the latest ctk. (#10123) 2024-03-15 08:04:41 +08:00
Jiaming Yuan 1450aebb74 Fix pairwise objective with NDCG metric along with custom gain. (#10100)
* Fix pairwise objective with NDCG metric.

- Allow setting `ndcg_exp_gain` for `rank:pairwise`.

This is useful when using pairwise for objective but ndcg for metric.
2024-03-11 14:54:10 +08:00
Jiaming Yuan 06c9702028 [doc] Fix the default value for lambdarank_pair_method. (#10098) 2024-03-11 14:53:17 +08:00
Jiaming Yuan 2c13f90384 Support graphviz plot for multi-target tree. (#10093) 2024-03-09 05:35:25 +08:00
Jiaming Yuan e14c3b9325 Optional normalization for learning to rank. (#10094) 2024-03-08 12:41:21 +08:00
Jiaming Yuan d07b7fe8c8 Small cleanup for mock tests. (#10085) 2024-03-04 23:32:11 +08:00
Jiaming Yuan 3941b31ade Disable column sample by node for the exact tree method. (#10083) 2024-03-01 14:16:10 +08:00
Jiaming Yuan 8189126d51 Add CUDA iterator to tensor view. (#10074) 2024-03-01 14:15:31 +08:00
Jiaming Yuan 5ac233280e Require context in aggregators. (#10075) 2024-02-28 03:12:42 +08:00
Jiaming Yuan 0ce4372bd4 Use UBJSON for serializing splits for vertical data split. (#10059) 2024-02-25 00:18:23 +08:00
Jiaming YuanandHyunsu Cho eb281ff9b4 [CI] Fix JVM tests on GH Action (#10064)
---------

Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu>
2024-02-22 14:21:32 -08:00
Jiaming Yuan 2e4ea5ecc0 Support f64 for ubjson. (#10055) 2024-02-21 02:18:42 +08:00
Jiaming Yuan 8ea705e4d5 Support sample weight in sklearn custom objective. (#10050) 2024-02-21 00:43:14 +08:00
Jiaming Yuan 69a17d5114 Fix with None input. (#10052) 2024-02-20 22:34:22 +08:00
Jiaming Yuan d37b83e8d9 Fix UBJSON with boolean value. (#10054) 2024-02-20 22:13:51 +08:00
Jiaming Yuan 54b71c8fba Fix with black 24.1.1. (#10014) 2024-01-30 17:24:11 +08:00
Jiaming Yuan 65d7bf2dfe Handle np integer in model slice and prediction. (#10007) 2024-01-26 04:58:48 +08:00
Jiaming Yuan a76d6c6131 Fix cpp deprecation. (#10010) 2024-01-26 02:13:40 +08:00
Jiaming Yuan d3f2dbe64f [dask] Add seed to demos. (#10009) 2024-01-26 02:09:38 +08:00
Jiaming Yuan d12cc1090a Refactor tests for training continuation. (#9997) 2024-01-24 16:07:19 +08:00
Jiaming Yuan bde20dd897 Remove benchmark scripts. (#9992) 2024-01-17 13:19:34 +08:00
Jiaming Yuan d07e8b503e Fix quantile regression demo. (#9991) 2024-01-17 13:19:08 +08:00
Jiaming Yuan cacb4b1fdd Fix gain calculation in multi-target tree. (#9978) 2024-01-17 13:18:44 +08:00
Jiaming Yuan 85d09245f6 Fix error handling in the event loop. (#9990) 2024-01-17 05:35:35 +08:00
Jiaming Yuan 0798e36d73 [breaking] Remove deprecated parameters in the skl interface. (#9986) 2024-01-15 20:40:05 +08:00
Jiaming Yuan 01c4711556 Check __cuda_array_interface__ instead of cupy class. (#9971)
* Now XGBoost can directly consume CUDA data from torch.
2024-01-09 19:59:01 +08:00
Jiaming Yuan 2f57bbde3c Additional tests for attributes and model booosted rounds. (#9962) 2024-01-09 09:54:39 +08:00
Jiaming Yuan b3eb5d0945 Use UBJ in Python checkpoint. (#9958) 2024-01-09 03:22:15 +08:00
Jiaming Yuan fa5e2f6c45 Synthesize the AMES housing dataset for tests. (#9963) 2024-01-09 00:54:23 +08:00
Jiaming Yuan 9a30bdd313 Test loading models with invalid file extensions. (#9955) 2024-01-08 19:26:24 +08:00
Jiaming Yuan 3976455af9 [jvm-packages] Use UBJ for checkpoints. (#9954) 2024-01-08 13:26:12 +08:00
Jiaming Yuan 38dd91f491 Save model in ubj as the default. (#9947) 2024-01-05 17:53:36 +08:00
Jiaming Yuan c03a4d5088 Check support status for categorical features. (#9946) 2024-01-04 16:51:33 +08:00
Jiaming YuanandPhilip Hyunsu Cho 621348abb3 Fix multi-output with alternating strategies. (#9933)
---------

Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-01-04 16:41:13 +08:00
Jiaming Yuan 5f7b5a6921 Add tests for pickling with custom obj and metric. (#9943) 2024-01-04 14:52:48 +08:00
Jiaming Yuan 26a5436a65 [doc] Describe feature info behavior. [skip ci] (#9866) 2024-01-04 14:52:19 +08:00
Jiaming Yuan 9f73127a23 Cleanup Python GPU tests. (#9934)
* Cleanup Python GPU tests.

- Remove the use of `gpu_hist` and `gpu_id` in cudf/cupy tests.
- Move base margin test into the testing directory.
2024-01-04 13:15:18 +08:00
Jiaming Yuan a7226c0222 Fix feature names with special characters. (#9923) 2023-12-28 22:45:13 +08:00
Jiaming Yuan 6a5f6ba694 [CI] Add timeout for distributed GPU tests. (#9917) 2023-12-24 00:09:05 +08:00
Jiaming Yuan 9d122293bc [doc] Fix typo. [skip ci] (#9904) 2023-12-20 09:17:00 +08:00
Jiaming Yuan 0edd600f3d [doc] Brief introduction to base_score. (#9882) 2023-12-17 13:34:34 +08:00
Jiaming Yuan 1c6e031c75 [R] Fix clang warning. (#9874) 2023-12-15 01:30:43 +08:00
Jiaming Yuan 125bc812f8 [doc] Reference enable_categorical doc in sklearn. (#9884) 2023-12-14 23:29:19 +08:00
Jiaming Yuan 1aa8c8d9be Support more scipy types. (#9881) 2023-12-14 18:28:37 +08:00
Jiaming Yuan faf0f2df10 Support dataframe data format in native XGBoost. (#9828)
- Implement a columnar adapter.
- Refactor Python pandas handling code to avoid converting into a single numpy array.
- Add support in R for transforming columns.
- Support R data.frame and factor type.
2023-12-12 09:56:31 +08:00
Jiaming Yuan b3700bbb3f Flexible find protobuf. (#9867) 2023-12-12 07:34:01 +08:00
Jiaming Yuan 1094d6015d [py] Use the first found native library. (#9860) 2023-12-08 17:23:16 +08:00
Jiaming Yuan 42de9206fc Support multi-target, fit intercept for hinge. (#9850) 2023-12-08 05:50:41 +08:00
Jiaming Yuan 39c637ee19 Use array interface in Python prediction return. (#9855) 2023-12-08 03:42:14 +08:00
Jiaming Yuan 4bc1f3a388 [R] Bump requirement to 4.3.0. (#9847) 2023-12-07 00:12:45 +08:00
Jiaming Yuan e78b46046e [CI] Update R version on Linux. (#9835) 2023-12-02 11:03:17 +08:00
Jiaming Yuan 2d8c67d6dc [jvm-packages] Bump dependencies. (#9827)
- #9811
- #9814
- #9826
- #9830
- #9833
- #9832
- #9831
- #9834
2023-12-02 07:34:56 +08:00
Jiaming Yuan e2e089ce12 [jvm-packages] Bump rapids version. (#9820) 2023-11-29 15:51:07 +08:00